- 2
- 0
- 约小于1千字
- 约 2页
- 2026-07-04 发布于山西
- 举报
题目求无向图任意两点间割点个数。先怎样缩为一颗树,然
后就可以了,主要是缩树。
标称用的是下面的方法:
对于一个无向图,做完点双连通可以把图分成很多块。
两个连通块之间最多只会有一个割点连接,把相邻连通块之
间共同的割点拉出来,和两个连通块的缩点分别连边,如下
图,这样缩点可以保证他是一颗树。
这样做有一个好处是生成的树上是连通块缩点和割点间隔
的,这样只要求两点间树上最短路,然后除以二就可以求出
割点个数了。
这样可以处理出所有。标称是用LCA求的。
复杂度最高O(n^2)
LCA算法:
LCA(LeastCommonAncestor),是指在一棵树中,距离两个
点的两者的公共节点。也就是说,在两个点通往根的道
,肯定会有公共的节点,我们就是要求找到公共的节点
中,深度尽量深的点。还可以表示成另一种,就是如果
把树看成是一个图,这找到这两个点中的最短距离。
原创力文档

文档评论(0)