初学tarjan板子题求助

P2863 [USACO06JAN] The Cow Prom S

谢谢dalao
by lk_liang @ 2018-11-04 17:02:03


https://www.luogu.org/recordnew/show/13116900
by llwanan @ 2018-11-04 17:07:02


垃圾
by NickCX @ 2018-11-04 17:07:35


您没有把x踢出去
by 狗压地上 @ 2018-11-04 17:08:47


### yeah~~ 【滑稽
by 行者_Walker @ 2018-11-04 17:08:57


我没读题诶 是不是else low[x]=min(low[x],dfn[y]); 这句话应该变成 else if(!color[y])low[x]=min(low[x],dfn[y]);
by niolle @ 2018-11-04 17:09:58


@[llwanan](/space/show?uid=67847) 请问你在秀什么
by lk_liang @ 2018-11-04 17:10:07


出现两个错误 错误一 : ```cpp else low[x]=min(low[x],dfn[y]); 访问过 应该改为 else if(vis[y]) low[x]=min(low[x],low[y]); // 访问过 ``` 错误二 : ```cpp 循环出栈时没有弹出栈首 正确写法 if(low[x]==dfn[x]) { sum++; while(s.top()!=x) { vis[s.top()]=false; s.pop(); color[sum]++; } vis[s.top()]=false; s.pop(); color[sum]++; } ```
by llwanan @ 2018-11-04 17:10:18


```cpp if(low[x]==dfn[x]) { sum++; while(s.top()!=x) { vis[s.top()]=false; s.pop(); color[sum]++; } } ``` 建议写do-while,因为x没有被你弹出去
by Patrickpwq @ 2018-11-04 17:10:20


来试一下我有没有被禁言
by NickCX @ 2018-11-04 17:10:32


| 下一页