/* 求 无向图的割点和桥 可以找出割点和桥,求删掉每个点后增加的连通块. 需要注意重边的处理,可以先用矩阵存,再转邻接表,或者进行判重 */ const int MAXN = 10010; const int MAXM = 100010; struct Edge { int to,next; bool cut;//是否为桥的标记 }edge[MAXM]; int head[MAXN],tot; int Low[MAXN],DFN[MAXN],Stack[MAXN]; int Index,top…
#include <bits/stdc++.h> using namespace std; const int MAXN = 20005; const int MAXM = 100005; int n, m, fir[MAXN], nxt[MAXM<<1], to[MAXM<<1], cnt=1; int dfn[MAXN], low[MAXN], tot; int cur, Ans[MAXN]; bool is_bridge[MAXM<<1]; void…