关注
这题克鲁斯卡尔就行
#include<bits/stdc++.h>
using namespace std;
vector<int> father;
int find(int x){
return father[x] == x ? x : father[x] = find(father[x]);
}
bool cmp(const vector<int>&; a, const vector<int>&; b){
return a[2] < b[2];
}
int main(){
int n, m;
cin>>n>>m;
father = vector<int>(n + 1);
for(int i = 1; i <= n; i++) father[i] = i;
vector<vector<int>> edges(m, vector<int>(3));
for(int i = 0; i < 3; i++){
for(int j = 0; j < m; j++)
cin>>edges[j][i];
}
sort(edges.begin(), edges.end(), cmp);
int ans = 0;
for(int i = 0; i < m; i++){
int f1 = find(edges[i][0]), f2 = find(edges[i][1]);
if(f1 == f2) continue;
ans += edges[i][2];
int ff = min(f1, f2);
father[f1] = father[f2] = ff;
}
cout<<ans<<endl;
return 0;
}
查看原帖
3 1
相关推荐
牛客热帖
更多
正在热议
更多
# 技术岗笔试题求解 #
77553次浏览 1005人参与
# 拼多多求职进展汇总 #
642282次浏览 4983人参与
# 工作一周年分享 #
30695次浏览 179人参与
# 如果公司给你放一天假,你会怎么度过? #
16231次浏览 122人参与
# 作业帮求职进展汇总 #
55740次浏览 370人参与
# 华子oc时间线 #
1236368次浏览 6473人参与
# OPPO求职进展汇总 #
662142次浏览 5032人参与
# 总结:哪家公司面试体验感最差 #
60451次浏览 273人参与
# 职场上哪些事情令人讨厌 #
18711次浏览 91人参与
# 三一重工求职进展汇总 #
14299次浏览 65人参与
# 去年你投递实习了吗? #
21972次浏览 329人参与
# 这些公司卡简历很严格 #
41275次浏览 204人参与
# 扒一扒那些奇葩实习经历 #
66290次浏览 913人参与
# 经纬恒润求职进展汇总 #
121654次浏览 1032人参与
# 提前批过来人的忠告 #
113838次浏览 1194人参与
# 说说你知道的学历厂 #
58216次浏览 351人参与
# 秋招最大的收获是什么? #
36867次浏览 311人参与
# 找工作时的取与舍 #
80006次浏览 566人参与
# 你认为小厂实习有用吗? #
29218次浏览 341人参与
# 哪一瞬间觉得自己长大了 #
13845次浏览 327人参与