社区讨论

那种写法是对的

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

讨论操作

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

当前回复
5 条
当前快照
1 份
快照标识符
@mi7cs5s9
此快照首次捕获于
2025/11/20 19:33
4 个月前
此快照最后确认于
2025/11/20 19:33
4 个月前
查看原帖
这是我之前写的Tarjan
CPP
  for(int i=head[x];i;i=edge[i].next){
        int y=edge[i].to;
        if(!low[y]){
            Tarjan(y);
            low[x]=min(low[x],low[y]);
        } 
        else
            if(inStack[y])
                low[x]=min(low[x],dfn[y]);
    } 
然后有一次改了一下
CPP
  for(int i=head[x];i;i=edge[i].next){
        int y=edge[i].to;
        if(!low[y]){
            Tarjan(y);
            low[x]=min(low[x],low[y]);
        } 
        else
            if(inStack[y])
                low[x]=min(low[x],low[y]);
    } 
第一种是用dfn[y]第二种是low[y]更新,两种写法都能AC,很迷
数据太水了???

回复

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

正在加载回复...