模板——最小生成树
来源:互联网 发布:对比度算法 编辑:程序博客网 时间:2024/05/22 09:05
题出自洛谷p3366最小生成树
#include<cstdio>#include<iostream>#include<algorithm>using namespace std;inline int read(){ int p,data=0; char ch=0; while((ch!='-')&&ch<'0'||ch>'9') ch=getchar(); if(ch=='-') { p=-1; ch=getchar(); } else p=1; while(ch<='9'&&ch>='0') { data=data*10+ch-'0'; ch=getchar(); } return data*p; } int n,m; struct gty { int a,b,c; }gtyy[210000]; int cmp(gty x,gty y) { return x.c<y.c; } int pre[5100]; int k=0; int tot=0; int find(int z) { if(pre[z]==z) return z; pre[z]=find(pre[z]); return pre[z]; } int main() { n=read(); m=read(); for(int i=1;i<=m;i++) { gtyy[i].a=read(); gtyy[i].b=read(); gtyy[i].c=read(); // pre[i]=i; } for(int i=1;i<=n;i++) { pre[i]=i; } sort(gtyy+1,gtyy+m+1,cmp); for(int i=1;i<=m;i++) { if(k==n-1) { printf("%d",tot); return 0; } else { if(find(gtyy[i].a)!=find(gtyy[i].b)) { pre[find(gtyy[i].a)]=find(gtyy[i].b); tot+=gtyy[i].c; k++; } } } printf("orz"); return 0; }
阅读全文
0 0
- 模板——最小生成树
- 最小生成树模板——kruskal
- 最小生成树—Kruskal模板
- prim算法模板—最小生成树
- 最小生成树模板
- 最小生成树模板
- 最小生成树---模板
- 最小生成树模板
- 最小生成树 模板
- 最小生成树(模板)
- 最小生成树模板
- 最小生成树模板
- 最小生成树模板
- 最小生成树【模板】
- 最小生成树【模板】
- 最小生成树模板
- 最小生成树模板
- 最小生成树 模板
- mapreduce实例
- Linux进程基础知识
- [Sdoi2010]粟粟的书架
- ZOJ1002 Fire Net DFS(深度优先搜索) 已AC
- 001_关于循环绑定事件函数中的对象索引值与this
- 模板——最小生成树
- 11通过id获取元素
- JS循环结构
- DSP 28335的GPIO输入限定采样
- 【JavaSE笔记】Java常用类及其方法(十)_Math
- A1019
- solr的相似匹配
- leetcode[Island Perimeter]//待整理多种解法
- BZOJ 1001: [BeiJing2006]狼抓兔子