@[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