36分求助,不知道Tarjan那里错了,悬赏关注,谢谢!

P2746 [USACO5.3] 校园网Network of Schools

把第17行的dfn[u]改成dfn[v] 就是54分了
by 黄海辰 @ 2023-04-05 10:02:38


```cpp void tarjan (int u) { dfn[u] = low[u] = ++tmp; st[++top] = u; for (int i = hd[u]; i; i = e[i].nxt) { int v = e[i].to; if (!dfn[v]) { tarjan (v); low[u] = min (low[u], low[v]); } else if (!bel[v]) low[u] = min (low[u], dfn[v]); } if (dfn[u] == low[u]) { siz[++idx] = 1; bel[u] = idx; while (st[top] != u) { bel[st[top]] = idx; siz[idx]++; top--; } top--; } } ```
by Ice_lift @ 2023-07-07 15:02:42


|