图的割点tarjan---zoj_1119
?????? http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1119
?????? 如果将连通图G中的某个点及和这个点相关的边删除后,将使原图不再连通,那么这个点就称为图G的割点或是接合点。如果一个无向图没有割点,则这样的图被称为双连通图。
????? 算法用到了一下两个数组。
????? dfn:这个点在dfs序列中的位置
????? low:经过这个点及这个点的所有儿子能追溯到的dfn最小点的dfn值~~
???? 这样我们发现,如果发现low(儿子)>=dfn(父亲),那么这个父亲就是一个割点。(他的儿子向下找没法重新找到自己的父亲~)
????? 当然这还是不够的,我们发现对于我们搜索的第一个点来说,他的dfn值是1,永远不会有点的low值比他大,所以我们要特判下,如果说他的真正的儿子(就是dfs的时候找到的儿子,也就是环不算)的个数大于1的话,他就是一个割点。
zoj_1119
?
?
????
?????
????