problem

#ifdef Dubug

#endif
#include <bits/stdc++.h>
using namespace std;
typedef long long LL ;
inline LL In() { LL res(0),f(1); register char c ;
while(isspace(c=getchar())) ; c == '-'? f = -1 , c = getchar() : 0 ;
while(res = (res << 1) + (res << 3) + (c & 15) , isdigit(c=getchar())) ;
return res * f ;
} int n , m ;
const int N = 2300 + 5 ;
const int M = 400000 + 5 ;
struct node {
int u ;
int v ;
int w ;
};
node edge[M] ;
int fa[N] ;
int ans = 0 ;
bool cmp(node x,node y) {
return x.w < y.w ;
}
inline int find(int x) {
return x == fa[x] ? x : fa[x] = find(fa[x]) ;
}
inline void kruskal() {
sort(edge+1,edge+m+1,cmp) ;
for(register int i=1;i<=m;i++){
int x = find(edge[i].u) , y = find(edge[i].v) ;
if(x == y) continue ;
fa[x] = y , ans += edge[i].w ;
}
}
signed main() {
n = In() ; m = In() ;
for(register int i=1;i<=n;i++) fa[i] = i ;
for(register int i=1;i<=m;i++) {
int u = In() , v = In() , w = In() ;
edge[i] = node{u,v,w} ;
}
kruskal() ;
cout << ans << endl ;
return 0 ;
}

最新文章

  1. c++ boost (递归)遍历目录
  2. Android 获取可靠的手机编码
  3. iOS如何上传代码到Github
  4. DG - physical standby switchover切换过程
  5. java实现附件预览(openoffice+swftools+flexpaper)
  6. Hibernate的集合映射(Set、List、Array、Map、Bag)
  7. AngularJS中的控制器示例
  8. AjaxHelper创建的ajax无效,JQuery直接方法post有效,原来是Microsoft.jQuery.Unobtrusive.Ajax错误,NuGet解决
  9. C#中List和数组之间的转换
  10. iOS 之 static
  11. [BZOJ 4832][lydsy 4月赛] 抵制克苏恩
  12. HDU 3001 Travelling:TSP(旅行商)【节点最多经过2次】
  13. [转载]织梦CMS首页调用分类信息栏目及列表方法
  14. LeetCode算法题-Design HashMap(Java实现)
  15. Linux下的C----多进程与多线程
  16. [转]Qt中定时器使用的两种方法
  17. 【iCore1S 双核心板_FPGA】例程二:GPIO输入实验——识别按键输入
  18. Selenium基本使用(十一)异常捕获
  19. 【 D3.js 入门系列 — 11 】 入门总结
  20. fs和http模块

热门文章

  1. Linux:DNS主、从、缓存服务器配置、DNS同步加密TSIG配置、DNS分离解析配置
  2. python 读取指定文件信息并拼接
  3. redis学习-简介
  4. [K/3Cloud]在插件中根据条件取消表单打开过程
  5. SecureCRT复制粘贴快捷键
  6. 7、Java并发性和多线程-如何创建并运行线程
  7. java int怎么转换为string
  8. Office EXCEL如何批量把以文本形式存储的数字转换为数字
  9. The 2014 ACM-ICPC Asia Mudanjiang Regional Contest(2014牡丹江区域赛)
  10. 性能测试实战-XYB项目-外网访问