欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 幼教 > 走廊泼水节——求维持最小生成树的完全图的最小边权和

走廊泼水节——求维持最小生成树的完全图的最小边权和

2024/10/23 23:32:00 来源:https://blog.csdn.net/m0_73669127/article/details/143133338  浏览:    关键词:走廊泼水节——求维持最小生成树的完全图的最小边权和

题目

思考

代码

#include <bits/stdc++.h>
using namespace std;
const int N = 6010;
const int M = N;
int p[N], sz[N];
struct edge{int a;int b;int c;bool operator < (const edge& v) const{return c < v.c;}
}e[M];
int find(int x)
{if(p[x] != x) p[x] = find(p[x]);return p[x];
}
int t, n;
int main()
{cin >> t;while(t--){cin >> n;for(int i = 1; i <= n; i++)p[i] = i, sz[i] = 1;for(int i = 1; i <= n-1; i++){int a, b, c;cin >> a >> b >> c;e[i] = {a, b, c};}sort(e+1,e+n);int res = 0;for(int i = 1; i <= n-1; i++){int a = e[i].a, b = e[i].b, c = e[i].c;a = find(a), b = find(b);if(a == b) continue;res += (c+1) * (sz[a] * sz[b] - 1);sz[b] += sz[a];p[a] = b;}cout << res << '\n';}
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com