A 思路:看到两两联通就容易想到最小生成树,然后要黑边多,白边少,那只需要最小生成树改一下排序条件就行了。代码: #include<iostream> #include<vector> #include<algorithm> using namespace std; const int maxn = 2e7 + 10; struct edge{ int u,v,w; }e[maxn]; bool cmp(edge a,edge b){ return a.w < b.w; } int f[maxn]; int find(int x){...