我看了一下前几篇tj,找环用的是 DFS 或 tarjian。但蒟蒻好像想到了一种简洁一点的方法:
for(int i=1;i<=n;i++) if((du[i]=v[i].size())==1)q.push(i); while(!q.empty()){ ll x=q.front();q.pop();b[x]=1; for(auto i:v[x]){ du[i]--; if(du[i]==1)q.push(i); } }
然后AC了。
蒟蒻想问一下这种方法有没有问题。