社区讨论

关于强连通分量tarjan写法的一个问题

学术版参与者 4已保存回复 5

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
5 条
当前快照
1 份
快照标识符
@lovixo80
此快照首次捕获于
2023/11/12 21:41
2 年前
此快照最后确认于
2023/11/13 09:53
2 年前
查看原帖
Rt。在tarjan算法中,枚举点的子节点时,对点的 lowlow 更新有两种情况,一种是新节点,用它的 lowlow 更新,一种是栈内的节点,用 dfndfn 更新。
求问第二种写法也写用 lowlow 更新是否正确?在我使用tarjan的题目中似乎还没有出现过问题。
也即:
CPP
for(int i:E[x]){
	if(!dfn[i]){tarj(i);low[x]=min(low[x],low[i]);}
	else if(in_stack[i])low[x]=min(low[x],dfn[i]);
}

回复

5 条回复,欢迎继续交流。

正在加载回复...