先考虑一个联通块,可以发现这个联通快内不会存在两个偶数的点证明:如果存在,那么这两个点的某一条路径上的边全部反过来,可以使答案+2,即答案为点数或点数-1同时,发现答案的奇数点数一定与边数同奇偶,那么答案就被确定了,具体实现可以使用并查集 1 #include<bits/stdc++.h> 2 using namespace std; 3 #define N 200005 4 int n,m,x,y,ans,f[N],e[N],v[N]; 5 int find(int k){ 6 if (k=…