Tarjan 60pts求助,写了半个月了还没过

P3387 【模板】缩点

@[Rosmontis_](/user/174118) tarjan经典错误 ```cpp for(register int i=head[u];i;i=e[i].next) { if(!dfn[e[i].v]) { tarjan(e[i].v); low[u]=mn(low[u],low[e[i].v]); } //下面这一排错了,应该是dfn[e[i].v],因为可能有横叉边 if(!col[e[i].v]) low[u]=mn(low[u],low[e[i].v]); } ```
by dingxingdi @ 2021-11-08 19:16:38


唔... ...谢谢大佬... ... 然而就算改了也不对呀。(依然60pts) @[dingxingdi](/user/65190)
by Novaorbit @ 2021-11-08 19:20:10


@[Rosmontis_](/user/174118) 下面那个要写成else if
by dingxingdi @ 2021-11-08 19:25:11


@[dingxingdi](/user/65190) 已经 `if(!col[v])` 了,应该没有横向边吧
by 阿丑 @ 2021-11-08 19:25:25


@[Rosmontis_](/user/174118) 感觉是拓扑的问题。hack: ```plain 3 3 1 1 1 1 2 2 3 1 3 ```
by 阿丑 @ 2021-11-08 19:34:33


@[Rosmontis_](/user/174118) 你真的认为你的最大路径是对的吗?
by wheneveright @ 2021-11-08 19:34:47


@[dingxingdi](/user/65190) 感觉就算没有else也没有什么影响啊。 因为在两个if之间没有任何操作,所以就算同一语句执行两遍对结果也该没有影响才对。
by Novaorbit @ 2021-11-08 19:36:38


@[wheneveright](/user/189351) ??? 那。请问。哪里有问题啊?
by Novaorbit @ 2021-11-08 19:38:18


@[阿丑](/user/364963) 抱歉,确实。我的表达有点问题,应该是返祖边,low[]那里确实是要换成dfn的。topsort也有点问题,抱歉
by dingxingdi @ 2021-11-08 19:39:28


```cpp nd[ze[i].v]+=nd[u]; ``` 这里
by wheneveright @ 2021-11-08 19:40:01


| 下一页