情况:
(https://www.luogu.com.cn/record/99069133)
代码:
#include<bits/stdc++.h>
using namespace std ;
const int MAXN = 2e5+5 ;
struct node{
int x,y,z;
friend bool operator < (node a,node b) {
return a.z < b.z;
}
}a[MAXN];
int dis[MAXN];
int getf(int p) {
return dis[p]==p?p:dis[p]=getf(dis[p]);
}
int main() {
int n,m;
cin>>n>>m;
for(int i = 1;i <= n;i++) dis[i] = i;
for(int i = 1;i <= m;i++) {
int x,y,z;
cin>>x>>y>>z;
a[i] = {x,y,z};
}
sort(a+1,a+1+m);
int ans = 0;
for(int i = 1;i <= m;i++) {
node tmp = a[i];
if(getf(tmp.x)!=getf(tmp.y)) {
ans += tmp.z;
dis[getf(tmp.x)] = dis[getf(tmp.y)];
}
}
cout<<ans;
}