强连通:
略
无向图求割点:
割点即删掉一个点和连向它的边后,图不连通。
其实和求强连通差不多,还是按搜索树遍历下去,当遇到一条返祖边x->fa时,显然这条路径上的点都不是割点(x,fa除外)。所以可以通过low判断一个点能否返祖,假如一个点的所有儿子都能返祖,那么就不是割点,否则是。
无向图求桥:
当删掉一条边后,图不连通,那么这条边就是桥。
和割点差不多。首先所有返祖边都不是桥,所以当一条树边fa->x,假如x不能返祖,即low[x]>dfn[fa],那这条边就是桥。
略
割点即删掉一个点和连向它的边后,图不连通。
其实和求强连通差不多,还是按搜索树遍历下去,当遇到一条返祖边x->fa时,显然这条路径上的点都不是割点(x,fa除外)。所以可以通过low判断一个点能否返祖,假如一个点的所有儿子都能返祖,那么就不是割点,否则是。
当删掉一条边后,图不连通,那么这条边就是桥。
和割点差不多。首先所有返祖边都不是桥,所以当一条树边fa->x,假如x不能返祖,即low[x]>dfn[fa],那这条边就是桥。