码迷,mamicode.com
首页 > 其他好文 > 详细

Tarjan

时间:2020-05-19 14:17:04      阅读:41      评论:0      收藏:0      [点我收藏+]

标签:lan   problem   class   strong   int   oid   block   cat   code   

  • 缩点模板

CF1239DCatowice City

//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

标签:lan   problem   class   strong   int   oid   block   cat   code   

原文地址:https://www.cnblogs.com/Wendigo/p/12916494.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!