算法坑点
后续补充完善
- 点双连通分量缩点后建的新图点的数量会增加,如果原图是一条链的话每个点双开个新点,加上割点,总点数要开两倍;
- 无向基环树用拓扑剥叶子的时候,记得防止剥父亲节点的出度
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);
}
}
}
}

浙公网安备 33010602011771号