1 先用拓扑排序将多余的顶点去除,只剩下组成环的点,然后用DFS求出每个环的长度 #pragma GCC optimize(2) #include<bits/stdc++.h> using namespace std; #define pi acos(-1.0) #define e exp(1.0) typedef long long ll; const ll maxn=2e5+7;//用拓扑排序将不是环的点去掉 ll N,M,head[maxn],in[maxn],cnt,jie; bool vis[maxn]; queue<ll>Q; struct Edge { ...