Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<cstdio>#include<vector>#include<algorithm>#define MAXN 100100using namespace std;struct edge {int a, b, w;};bool operator<(const edge &a, const edge &b){return a.w < b.w;}int p[MAXN];int rankX[MAXN];void initSet(){for (int i = 0; i < MAXN; ++i)p[i] = i;}int findSet(int x){if (x == p[x]) return x;return p[x] = findSet(p[x]);}