_Weslie_ @ 2024-08-09 13:34:02
注意一下在拓扑排序建边时有没有注意去重。
并且:
//g[k] 是指包含 k 的强连通分量所含有的点
//bel[i] 指 i 属于哪个连通块
for(int k=1; k<=n; k++) {
if(g[k].size()==0)continue;
memset(vis,0,sizeof(vis));
for(int i=0; i<g[k].size(); i++) {
for(int j=head[g[k][i]]; j; j=e[j].nxt) {
if(k!=bel[e[j].v]&&!vis[bel[e[j].v]]) {
add2(k,bel[e[j].v]);
vis[bel[e[j].v]]=1;//一定是 bel[e[j].v]!!!!!
}
}
}
}
by watermouthhang @ 2024-10-03 14:51:09
感谢楼主为我指点迷津
by zcxnb @ 2024-10-31 19:15:18
太感谢了qwq