Loading docs/graph/bridge.md +64 −62 Original line number Diff line number Diff line Loading @@ -4,7 +4,7 @@ ## 割点 > 如果在一个图中,如果把一个点删除,那么这个图的连通分支数增加,那么这个点就是割点(割顶)。 > 对于一个无向图,如果把一个点删除后这个图的极大连通分量数增加了,那么这个点就是这个图的割点(又称割顶)。 ### 如何实现? Loading Loading @@ -48,6 +48,8 @@ low[u] = min(low[u], num[v]); ### Code ??? " 例题代码 " ```cpp /* 洛谷 P3388 【模板】割点(割顶) Loading Loading @@ -117,12 +119,12 @@ int main() { 和割点差不多,还叫做割桥。 > 无向图中,去掉一条边,图中的连通分量数增加,则这条边,称为桥或者割边。 > 对于一个无向图,如果删掉一条边后图中的连通分量数增加了,则称这条边为桥或者割边。 ### 实现 和割点差不多,只要改一处: $low_v>num_u$ 就可以了,而且不需要考虑根节点的问题。 割边是和是不是根节点没关系的,原来我们求割点的时候是指点 $v$ 是不可能不经过父节点 $u$ 为回到祖先节点(包括父节点),所以顶点 $u$ 是割点。如果 $low_v==num_u$ 表示还可以回到父节点,如果顶点 $v$ 不能回到祖先也没有另外一条回到父亲的路,那么 $u-v$ 这条边就是割边。 割边是和是不是根节点没关系的,原来我们求割点的时候是指点 $v$ 是不可能不经过父节点 $u$ 为回到祖先节点(包括父节点),所以顶点 $u$ 是割点。如果 $low_v=num_u$ 表示还可以回到父节点,如果顶点 $v$ 不能回到祖先也没有另外一条回到父亲的路,那么 $u-v$ 这条边就是割边。 Tarjan 算法还有许多用途,常用的例如求强连通分量,缩点,还有求 2-SAT 的用途等。 Loading
docs/graph/bridge.md +64 −62 Original line number Diff line number Diff line Loading @@ -4,7 +4,7 @@ ## 割点 > 如果在一个图中,如果把一个点删除,那么这个图的连通分支数增加,那么这个点就是割点(割顶)。 > 对于一个无向图,如果把一个点删除后这个图的极大连通分量数增加了,那么这个点就是这个图的割点(又称割顶)。 ### 如何实现? Loading Loading @@ -48,6 +48,8 @@ low[u] = min(low[u], num[v]); ### Code ??? " 例题代码 " ```cpp /* 洛谷 P3388 【模板】割点(割顶) Loading Loading @@ -117,12 +119,12 @@ int main() { 和割点差不多,还叫做割桥。 > 无向图中,去掉一条边,图中的连通分量数增加,则这条边,称为桥或者割边。 > 对于一个无向图,如果删掉一条边后图中的连通分量数增加了,则称这条边为桥或者割边。 ### 实现 和割点差不多,只要改一处: $low_v>num_u$ 就可以了,而且不需要考虑根节点的问题。 割边是和是不是根节点没关系的,原来我们求割点的时候是指点 $v$ 是不可能不经过父节点 $u$ 为回到祖先节点(包括父节点),所以顶点 $u$ 是割点。如果 $low_v==num_u$ 表示还可以回到父节点,如果顶点 $v$ 不能回到祖先也没有另外一条回到父亲的路,那么 $u-v$ 这条边就是割边。 割边是和是不是根节点没关系的,原来我们求割点的时候是指点 $v$ 是不可能不经过父节点 $u$ 为回到祖先节点(包括父节点),所以顶点 $u$ 是割点。如果 $low_v=num_u$ 表示还可以回到父节点,如果顶点 $v$ 不能回到祖先也没有另外一条回到父亲的路,那么 $u-v$ 这条边就是割边。 Tarjan 算法还有许多用途,常用的例如求强连通分量,缩点,还有求 2-SAT 的用途等。