关注
这题克鲁斯卡尔就行
#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
牛客热帖
正在热议
# 牛客帮帮团来啦!有问必答 #
1261074次浏览 18056人参与
# 实习时,大家都怎么称呼自己的mentor? #
20165次浏览 235人参与
# OPPO开奖 #
48916次浏览 649人参与
# 和牛牛一起刷题打卡 #
35465次浏览 2431人参与
# 你的简历改到第几版了 #
344138次浏览 5150人参与
# 2022毕业生求职现身说法 #
27068次浏览 381人参与
# 不去互联网可以去金融科技 #
42060次浏览 462人参与
# 硬件人的简历怎么写 #
83532次浏览 870人参与
# 你最多能接受一周加班几个小时 #
5677次浏览 59人参与
# 2023届毁约公司名单 #
102178次浏览 456人参与
# 你觉得今年秋招难吗 #
342478次浏览 6082人参与
# 你觉得通信/硬件有必要实习吗? #
30856次浏览 531人参与
# 24秋招避雷总结 #
376862次浏览 4171人参与
# 来聊聊你目前的求职进展 #
223669次浏览 2814人参与
# 互联网公司爆料 #
45449次浏览 413人参与
# 24届软开秋招面试经验大赏 #
1213433次浏览 18443人参与
# 现在还是0offer,延毕还是备考 #
424523次浏览 4941人参与
# 京东方求职进展汇总 #
8161次浏览 76人参与
# 软件开发笔面经 #
18592次浏览 473人参与
# 正在实习的你,有转正机会吗? #
125377次浏览 1204人参与
# 双非本科求职如何逆袭 #
242422次浏览 3541人参与
# 我的失利项目复盘 #
264858次浏览 5557人参与