nyoj 布线问题 (最小生成树)

。。。注定只会做水题了。。

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstdlib>
 4 #include<cstring>
 5 #include<string>
 6 #include<queue>
 7 #include<algorithm>
 8 #include<map>
 9 #include<iomanip>
10 #include<climits>
11 #include<string.h>
12 #include<cmath>
13 #include<stdlib.h>
14 #include<vector>
15 #include<stack>
16 #include<set>
17 using namespace std;
18 #define INF 1000000007
19 #define MAXN 4010
20 #define Mod 1000007
21 #define N 100010
22 #define NN 30
23 #define sigma_size 3
24 const int MAX = 1000100;
25 const int maxn = 6e5 + 10;
26 using namespace std;
27 typedef long long LL;
28 
29 int value[555];
30 int fa[555];
31 struct node{
32     int u, v, c;
33     bool operator <(const node a) const{
34         return c < a.c;
35     }
36 }a[255*500];
37 
38 
39 int T;
40 int n, m;
41 int ans;
42 
43 int findset(int x)
44 {
45     if (fa[x] < 0) return x;
46     return fa[x] = findset(fa[x]);
47 }
48 int main()
49 {
50     cin >> T;
51     while (T--) {
52         ans = 0;
53         memset(a, 0, sizeof(a));
54         memset(value, 0, sizeof(value));
55         memset(fa,-1,sizeof(fa));
56         cin >> n >> m;
57         for (int i = 0; i < m; ++i) {
58             scanf("%d%d%d", &a[i].u, &a[i].v, &a[i].c);
59         }
60         for (int i = 1; i <= n; ++i)
61             scanf("%d",&value[i]);
62         sort(a, a + m);
63         sort(value + 1, value + n + 1);
64         for (int i = 0; i < m; ++i) {
65             int x = findset(a[i].u);
66             int y = findset(a[i].v);
67             if (x != y) {
68                 ans += a[i].c;
69                 fa[x] += fa[y];
70                 fa[y] = x;
71             }
72         }
73         printf("%d\n", ans+value[1]);
74     }
75     //system("pause");
76     return 0;
77 }

 

转载于:https://www.cnblogs.com/usedrosee/p/4331953.html

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值