博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
最小生成树Kruskal模板题
阅读量:4696 次
发布时间:2019-06-09

本文共 825 字,大约阅读时间需要 2 分钟。

Laoj P1782

```cpp

#include<iostream>
#include<cstdio>
#include<queue>
#include<algorithm>
using namespace std;

long long n,m,fa[200005],tot=0;long long a[20005],ans=0;

long long getfa(int a){

if(fa[a]==a)return fa[a];
else{
fa[a]=getfa(fa[a]);
return fa[a];
}
}

struct road{

long long u,v;
long long w;
}r[500005];

int comp(road x,road y){

return x.w<y.w;
}

int main(){

scanf("%lld%lld",&n,&m);
for(long long i=1;i<=n;i++)fa[i]=i;
for(long long i=1;i<=m;i++)scanf("%lld%lld%lld",&r[i].u,&r[i].v,&r[i].w);
sort(r+1,r+m+1,comp);
for(long long i=1;i<=m;i++){
long long fu=getfa(r[i].u),fv=getfa(r[i].v);
if(fu!=fv){
fa[fv]=fu;
ans+=r[i].w;
tot++;
}
if(tot==n-1){
printf("%lld\n",ans);
return 0;
}
}
if(tot<n-1||n==0||m==0)printf("0\n");
}
```
注意数据大,用long long.

注意倒数第二行的判断及输出0.

转载于:https://www.cnblogs.com/Y15BeTa/p/10319491.html

你可能感兴趣的文章
【34.14%】【BZOJ 3110】 [Zjoi2013]K大数查询
查看>>
【 henuacm2016级暑期训练-动态规划专题 A 】Cards
查看>>
第五篇:白话tornado源码之褪去模板的外衣
查看>>
设备常用框架framework
查看>>
bootstrap模态框和select2合用时input无法获取焦点(转)
查看>>
21世纪经济网APP
查看>>
解决NetworkOnMainThreadException
查看>>
1039 到底买不买
查看>>
农银电商项目学习笔记(一)
查看>>
MockObject
查看>>
Chukwa
查看>>
(转)Maven仓库——私服介绍
查看>>
设计模式之工厂模式
查看>>
仿复制粘贴功能,长按弹出tips的实现
查看>>
Kubernetes-Host网络模式应用
查看>>
第三次作业
查看>>
sqlplus terminators - Semicolumn (;), slash (/) and a blank line
查看>>
省选知识清单/计划列表(咕?)
查看>>
远程桌面(3389)复制(拖动)文件
查看>>
转 lucene3搜索引擎,索引建立搜索排序分页高亮显示, IKAnalyzer分词
查看>>