传送门:CCF201412-4 最优灌溉
很水的模板题。
不过后来发现了并查集的按秩合并优化,但据说优化效果不咋地,所以这里挖个坑,以后来补。
下面上代码,基本上可以当作kruskal的板子用了:
#include <bits/stdc++.h>
#define ll long long
#define INF 0x3f3f3f3f
using namespace std;
const int maxn = 1e3+10;
const int maxm = 1e5+10;
struct Edge
{
int u, v, w;
bool operator < (const Edge& e) const
{
return w < e.w;
}
}edge[maxm];
int n, m;
int p[maxn];
int ans;
void read()
{
cin >> n >> m;
for(int i = 0; i < m; ++i)
cin >> edge[i].u >> edge[i].v >> edge[i].w;
}
void ufs_init()
{
for(int i = 0; i <= n; ++i)
p[i] = i;
}
int Find(int x)
{
int r = x;
while(p[r] != r)
r = p[r];
int i = x, j;
while(i != r)
{

最低0.47元/天 解锁文章
1648

被折叠的 条评论
为什么被折叠?



