![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
缩点,求强连通块
桐乐AC
这个作者很懒,什么都没留下…
展开
-
tarjan算法笔记
tarjan算法可以用来求强连通块的块数,判断条件是low[x] = dfn[x]; 注意点:缩点后是将强连通块当作点,所以重建图的时候,发现原图2点不在同一强连通块就可以按照原图的方向链接2个超级点。 建图可以能有重边但是大部分不会对解题产生影响。如果有需要可以用set去重。 tarjan 当 low[x] = dfn[x] 时,弹出 x 包括x前面的元素,这些元素共同组成一个量连通块。不要忘记...原创 2019-08-03 15:54:12 · 119 阅读 · 0 评论 -
tarjan 算法 求强连通分量 及 缩点
tarjan算法可以用来求强连通分量, 强连通分量有个很好的性质就是任意2个点都是互相到达的也就是说任意2点都在一个环上. 有了这样的性质有些问题中就可以把一个强连通分量当作一个点来看待,这样就可以把它们当作一个个超级点,特别的有时候单个点也可以是一个强连通分量, 所有可以把整张图简化为DAG(有向无环图) 这样就能简化问题: tarjan的实现 需要一个low数组记录点最小的父亲编号 dfn数组...原创 2019-08-04 00:17:57 · 216 阅读 · 0 评论