割点:就是一张图中割掉这个点之后联通块个数增加的点
桥:也即割边,是一张图中割掉这条边之后联通块个数增加的边
求这个东西我们需要用到dfs序,以及low数组,其中low数组和tarjan求强连通分量里的low数组是一个意思,于是我们显然可以得出几个比较显然的结论
①:low[v] > dfn[u] ->is a cut_line
②:low[v] ≥ dfn[u]->is a cut_point
于是我们直接tarjan一下就好了
#include <bits/stdc++.h>
using namespace std;
void tarjan( int u, int fa ) {
dfn[u] = low[u] = ++timer;
int child = 0;