tarjan-边双连通分量
割边(桥)
一条边是割边,是因为,一个点能回到的最小的点编号始终大于另一个点,所以这条边隔断之后,这个点就会不到上面了,因为无向图会建两条边,所以如果是同一条边的话,就不能更新能回到的最小点编号,所以可以把相同的边相邻编号,用异或 \(1\) 来判断是否可以更新
边双连通分量
把割边标记,按照定义,直接一个个搜索,在所经过的边没有被标记的前提下,染色
P2860
要让任意两个点之间存在至少两条路径,就是要让整个图形成一个边双,没有割边
先把图边双缩点,这样就变成了一棵树,可以得到一个结论,把所有叶子两两相连,答案为叶子数量除二向上取整
CF1000E
必须进过的边就是割边,要让两个点之间的割边尽可能多,先缩点,变成树,现在所有边都是割边,要找距离最远的点的距离,变成求树的直径

浙公网安备 33010602011771号