强连通分量
Cymbals
Public void effect()
展开
-
Tarjan求强连通分量模板
int dfn[maxn], low[maxn], scc[maxn], tot, scc_cnt; stack<int> st; void tarjan(int x) { dfn[x] = low[x] = ++tot; st.push(x); for (auto v:G[x]) { if (!dfn[v]) { ta...原创 2019-10-28 14:40:13 · 217 阅读 · 0 评论 -
HDU 5934 Bomb(强连通分量缩点)
题目:https://vjudge.net/contest/338569#problem/P 显然可以想到引爆花费最小需要选择能引爆尽量多的,如果A能引爆B,B能引爆C,一定是引爆A最优。 如果有一些点可以相互引爆,那么就引爆这些点里花费最小的。 “能互相引爆”这显然是一个强连通分量,因此用tarjan求强连通分量之后,对于每个拓扑序最开头(入度为0)的连通分量,选择花费最小的进行引爆,即可求出答...原创 2019-10-28 14:38:10 · 171 阅读 · 0 评论