萌新求助 强连通分量问题
  • 板块学术版
  • 楼主CPPfive
  • 当前回复6
  • 已保存回复6
  • 发布时间2021/11/13 11:05
  • 上次更新2023/11/4 00:44:33
查看原帖
萌新求助 强连通分量问题
356499
CPPfive楼主2021/11/13 11:05

这道题的时候,我把标准tarjan改了一下

本来是这样的

for(int i=h[x];i;i=nxt[i]){
	if(!dfn[to[i]]){
		tarjan(to[i]);
		low[x]=min(low[x],low[to[i]]);
	}
	else if(in_stack[to[i]]) low[x]=min(low[x],dfn[to[i]]);
}

改成了这样

for(int i=h[x];i;i=nxt[i]){
	if(!dfn[to[i]]){
		tarjan(to[i]);
		low[x]=min(low[x],low[to[i]]);
	}
	else if(in_stack[to[i]]) low[x]=min(low[x],low[to[i]]);//这句话做出了更改
}

发现也能过这道题。这是为什么啊。。是因为这样写本来就是对的吗?

2021/11/13 11:05
加载中...