Loading docs/graph/scc.md +5 −5 Original line number Diff line number Diff line Loading @@ -12,7 +12,7 @@ Robert E. Tarjan (1948~) 美国人。 Tarjan 发明了很多很有用的东西,下到 NOIP 上到 CTSC 难度的都有。光Tarjan算法就有很多,比如求各种联通分量的Tarjan算法,求LCA(Lowest Common Ancestor,最近公共祖先)的Tarjan算法。并查集、Splay也是Tarjan发明的。 Tarjan 发明了很多算法结构。光 Tarjan 算法就有很多,比如求各种联通分量的 Tarjan 算法,求 LCA(Lowest Common Ancestor,最近公共祖先)的 Tarjan 算法。并查集、Splay、Toptree 也是 Tarjan 发明的。 我们这里要介绍的是在有向图中求强连通分量的 Tarjan 算法。 Loading Loading @@ -48,7 +48,7 @@ Tarjan 发明了很多很有用的东西,下到 NOIP 上到 CTSC 难度的都 显然,按照 DFS 搜索树的递归顺序,$low[u]$ 是单调递增的。 按照深度优先搜索算法搜索的次序对图中所有的结点进行搜索。在搜索过程中,对于结点 $u$ 和与其相邻的结点 $v$ 考虑 3 种情况: 按照深度优先搜索算法搜索的次序对图中所有的结点进行搜索。在搜索过程中,对于结点 $u$ 和与其相邻的结点 $v$ (v不是u的父节点)考虑 3 种情况: 1. $v$ 未被访问:继续对 $v$ 进行深度搜索。在回溯过程中,用 $low[v]$ 更新 $low[u]$。因为存在从 $u$ 到 $v$ 的直接路径,所以 $v$ 能够回溯到的已经在栈中的结点,$u$ 也一定能够回溯到。 2. $v$ 被访问过,已经在栈中:即已经被访问过,根据 $low$ 值的定义(能够回溯到的最早的已经在栈中的结点),则用 $DFN[v]$ 更新 $low[u]$. Loading Loading
docs/graph/scc.md +5 −5 Original line number Diff line number Diff line Loading @@ -12,7 +12,7 @@ Robert E. Tarjan (1948~) 美国人。 Tarjan 发明了很多很有用的东西,下到 NOIP 上到 CTSC 难度的都有。光Tarjan算法就有很多,比如求各种联通分量的Tarjan算法,求LCA(Lowest Common Ancestor,最近公共祖先)的Tarjan算法。并查集、Splay也是Tarjan发明的。 Tarjan 发明了很多算法结构。光 Tarjan 算法就有很多,比如求各种联通分量的 Tarjan 算法,求 LCA(Lowest Common Ancestor,最近公共祖先)的 Tarjan 算法。并查集、Splay、Toptree 也是 Tarjan 发明的。 我们这里要介绍的是在有向图中求强连通分量的 Tarjan 算法。 Loading Loading @@ -48,7 +48,7 @@ Tarjan 发明了很多很有用的东西,下到 NOIP 上到 CTSC 难度的都 显然,按照 DFS 搜索树的递归顺序,$low[u]$ 是单调递增的。 按照深度优先搜索算法搜索的次序对图中所有的结点进行搜索。在搜索过程中,对于结点 $u$ 和与其相邻的结点 $v$ 考虑 3 种情况: 按照深度优先搜索算法搜索的次序对图中所有的结点进行搜索。在搜索过程中,对于结点 $u$ 和与其相邻的结点 $v$ (v不是u的父节点)考虑 3 种情况: 1. $v$ 未被访问:继续对 $v$ 进行深度搜索。在回溯过程中,用 $low[v]$ 更新 $low[u]$。因为存在从 $u$ 到 $v$ 的直接路径,所以 $v$ 能够回溯到的已经在栈中的结点,$u$ 也一定能够回溯到。 2. $v$ 被访问过,已经在栈中:即已经被访问过,根据 $low$ 值的定义(能够回溯到的最早的已经在栈中的结点),则用 $DFN[v]$ 更新 $low[u]$. Loading