Tarjan
Posted wendigo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tarjan相关的知识,希望对你有一定的参考价值。
- 缩点模板
//Tarjan
int ic,in[N+7],low[N+7],dfn[N+7],sc,st[N+7],cc,co[N+7],sm[N+7];
void Tarjan(int u){
low[u]=dfn[u]=++ic,in[u]=1,st[++sc]=u;
for(int v:e[u])
if(!dfn[v]) Tarjan(v),low[u]=min(low[u],low[v]);
else if(in[v]) low[u]=min(low[u],dfn[v]);
if(dfn[u]==low[u]) for(int v=0,t=++cc;v!=u;) v=st[sc--],co[v]=t,in[v]=0,sm[t]++;
}
以上是关于Tarjan的主要内容,如果未能解决你的问题,请参考以下文章