首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

图的割点tarjan-zoj_1119

2012-10-07 
图的割点tarjan---zoj_1119?????? http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode1119??

图的割点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

?

?

????

?????

????

热点排行