数据结构总结之并查集
2017-12-19 10:48
211 查看
1.模板题:uva10608
#include <iostream> #include <stdio.h> #include <algorithm> #include <string.h> using namespace std; int par[500005]; int g[500005]; int cases; int n,m; int find_par(int x) { return x==par[x]?x:find_par(par[x]); } void union_(int x,int y) { int a=find_par(x); int b=find_par(y); par[a]=b; } int main() { cin>>cases; while(cases--) { scanf("%d%d",&n,&m); memset(g,0,sizeof(g)); for(int i=1; i<=n; i++) par[i]=i; for(int i=0; i<m; i++) { int a,b; scanf("%d%d",&a,&b); union_(a,b); } for(int i=1;i<=n;i++) par[i]=find_par(i); for(int i=1;i<=n;i++) { int x=par[i]; g[x]++; } sort(g+1,g+n+1); cout<<g <<endl; } return 0; }
相关文章推荐
- 数据结构 之 并查集 总结
- c语言数据结构之并查集 总结
- 数据结构面试题总结6——数组:求两个数组中满足给定和的两个元素
- 数据结构回顾和总结(树的各种遍历方法)(1)
- 数据结构面试题总结8——数组:数组循环移位
- (2016秋数据结构课后练习题总结)03-树2 List Leaves (25分)
- 数据结构复习之排序算法的总结回顾
- Java数据结构之Set学习总结
- 总结数据结构 运用知识点(文件应用)
- 挖掘算法中的数据结构(五):排序算法总结 和 索引堆及优化(堆结构)
- 《数据结构》第二章 线性表 知识总结导图
- 并查集(用于不相交集合的数据结构)
- 牛人整理分享的面试知识:操作系统、计算机网络、设计模式、Linux编程,数据结构总结
- Python数据结构:序列(列表[]、元组())与映射(字典{})语法总结
- 《数据结构》实验一: VC编程工具的灵活使用的总结
- 牛人整理分享的面试知识:操作系统、计算机网络、设计模式、Linux编程,数据结构总结
- 数据结构期末课堂大总结
- 王彪20162321 2017-2018程序设计与数据结构-第二学期-第一周学习总结
- Java数据结构应用——无序列表学习总结(一)
- 各种基本数据结构和算法总结清单