Tarjan算法
touso
这个作者很懒,什么都没留下…
展开
-
Network of School
题目链接 #include<stdio.h> #include<string.h> #include<stack> #include<algorithm> using namespace std; const int maxn=1e6+10; int low[maxn],dfn[maxn]; int nxt[maxn],ru[maxn],cu[maxn],head[maxn],to[maxn]; int n,m; int stk[maxn],co[maxn];原创 2020-09-23 09:14:50 · 82 阅读 · 0 评论 -
tarjan算法
dfn数组维护每一个点第一次被搜索到的时间戳,当下一次搜索的时间戳比当前的时间戳小,说明出现了强连通分量。在同一个dfn树的子树中,dfn越小,则其越浅 low数组代表dfn树中,此点以及其后代指出去的边,能返回到的最浅的点的时间戳 当dfn和low的值相同时,代表以当前节点为根的子树是一个强连通分量 void tarjan(int u) { low[u]=dfn[u]=++num;//每一次搜...原创 2020-04-01 22:01:07 · 95 阅读 · 0 评论