后续补充完善
- 点双连通分量缩点后建的新图点的数量会增加,如果原图是一条链的话每个点双开个新点,加上割点,总点数要开两倍;
- 无向基环树用拓扑剥叶子的时候,记得防止剥父亲节点的出度
void topsort(){queue<int> q;for(int i=1;i<=n;i++){if(dg[i]==1){q.push(i);}}while(q.size()){int u=q.front();q.pop();for(int &v:edges[u]){if(dg[v]==1)//一定要记得加这一句continue;dg[v]--;if(dg[v]==1){q.push(v);}}}
}