简要题意:
给定一个图,求所有割点。
割点(割顶)的定义:去掉该点整个图不连通。
前置知识:
强连通分量的 Tarjan \texttt{Tarjan} Tarjan 求法。
本题作为 Tarjan \texttt{Tarjan} Tarjan 求割点的模板题。
首先,我们同样和求强连通分量一样,搞出一个 dfn \text{dfn} dfn 和 low \text{low} low.
接着,你会发现这样的情况:
如果 x x x 节点后面搜索树上的点 y y y 都满足 l o w y ≥ x low_y \geq x lowy≥x,此时 x x x 不出意外 是一个割点。
那 “意外” 指什么?
想一下,如果是一条链的链顶,同样也满足 l o w y ≥ x ( y ∈ Subtree(x) ) low_y \geq x(y \in \texttt{Subtree(x)}) low