建议学习过程,先简单看了解课件,然后看模版代码,上面会有详细注释,以及我第一做这些代码时候遇到的问题。
无向连通图求 桥和割点
割点:无向连通图中,如果删除某点后,图变成不连通了,则称该点为割点。
桥: 无向连通图中,如果删除某条边后,图变成不连通了,则该边为桥。
注:桥和割点是无向图中的概念。
求桥:
在求割点的基础上吗,假如一个边没有重边(重边 1-2, 1->2 有两次,那么 1->2 就是有两条边了,那么 1->2就不算是桥了)。
当且仅当 (u,v) 为父子边,且满足 dfn[u] < low[v]
求无向连通图的点双连通分支(不包含割点的极大连通子图)(此处省略等遇到此类问题了再补充上去)
求无向连通图的边双连通分支(不包含桥的极大连通子图)(边双连通分支:不包含桥的连通分支)
无重边的时候可以根据 low 值来划分 边双连通分支(不能使用low 来划分连通分量 low值不同也可以在同一个连通分量内)
重边标记法
专题链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=67418#overview
2.POJ 1236 Network of Schools (求联通分量稍微拓展一下)
4.UVA 796 Critical Links(无向图求桥)
5.POJ 3694 Network(无向图求桥+重边处理+LCA)
6.POJ 3177 Redundant Paths(重边标记法,有重边的边双连通分支,内有解释为什么low不能用来分连通分量)
7.HDU 4612 Warm up(手动扩栈,求树上哪两个点的距离最远)
9.HDU 4685 Prince and Princess(二分图匹配+强联通,未完成待续)
11.POJ 2762 Going from u to v or from v to u?(强联通 + TopSort)
12.POJ 2553 The Bottom of a Graph