tarjan 40pts求助

P3387 【模板】缩点

@[limingyi2008](/user/442644) tarjan 缩点那里写错了
by inaoui @ 2022-01-26 16:46:30


@[limingyi2008](/user/442644) ```cpp void Suo_Dian(){ for(int i=1;i<=n;i++) if(!dfn[i]) Tarjan(i); for(int u=1;u<=n;u++) for(int i=0;i<g[u].size();i++){ int v=g[u][i]; if(u!=v){ gg[u].push_back(v); inm[col[v]]++; } } } ``` 这里应该是gg[col[u]].push_back(col[v]) 因为你缩点之后是变成一个点了,所以是所在的联通分量连一条边,好像还有些地方错了,我再看看
by inaoui @ 2022-01-26 16:48:20


@[limingyi2008](/user/442644) tarjan函数也写错了
by inaoui @ 2022-01-26 16:50:38


@[xbx_xbx](/user/252013) 改了Suo_Dian但还是不对
by DTCT @ 2022-01-27 08:18:44


@[xbx_xbx](/user/252013) 求大佬再帮我改改tarjan
by DTCT @ 2022-01-27 08:30:53


@[limingyi2008](/user/442644) 缩点那里肯定是错了的,说明其他地方还有问题,tarjan ```cpp else low[u]=Min(low[u],low[v]); ``` 应该是 low[u]=Min(low[u],dfn[v]);
by inaoui @ 2022-01-27 21:21:48


```cpp while(v=s[top--]){ col[v]=cn; vis[v]=false; ww[u]+=w[v]; if(u==v) break; } ``` 看起来不对劲,应该是这里的问题,你再去看一下tarjan的模板
by inaoui @ 2022-01-27 21:23:30


@[xbx_xbx](/user/252013) 谢谢
by DTCT @ 2022-01-28 10:13:09


@[limingyi2008](/user/442644) 不谢qwq
by inaoui @ 2022-01-28 10:33:28


|