HDU 1856 More is better
来源:互联网 发布:游戏编程软件 编辑:程序博客网 时间:2024/06/08 09:49
题意
求并查集中最大的一个集合的大小
思路
Union过后,使用Find找到每个节点的祖先统计即可。
传送门
http://acm.hdu.edu.cn/showproblem.php?pid=1856
#include <cstdio>#include <cstring>#include <iostream>using namespace std;class UnionFind {private: int * fa; int size;public: UnionFind(int n) { size = n; fa = new int[n+1]; Init(); } ~UnionFind() { delete[] fa; } void Init() { for(int i = 1 ; i <= size ; i ++) { fa[i] = i; } } int Find(int x) { if(fa[x] != x) { fa[x] = Find(fa[x]); } return fa[x]; } bool Union(int x,int y) { int fx = Find(x); int fy = Find(y); if(fx != fy) { fa[fx] = fy; return true; } else { return false; } } int GetCount() { int count = 0; for(int i = 1 ; i <= size ; i ++) { if(fa[i] == i) { count ++; } } return count; } int GetMaxSetNum() { int maxSetNum = 0; int * countSet = new int[size+1]; memset(countSet,0,sizeof(int)*(size+1)); for(int i = 1 ; i <= size ; i ++) { int fi = Find(i); countSet[fi] ++; } for(int i = 1 ; i <= size ; i ++) { if(countSet[i] > maxSetNum) { maxSetNum = countSet[i]; } } delete[] countSet; return maxSetNum; }};#define MAXN 10000005int main() { freopen("a.in","r",stdin); int n; while(~scanf("%d",&n)) { UnionFind uf(MAXN); for(int i = 0 ; i < n ; i++) { int u,v; scanf("%d %d",&u,&v); uf.Union(u,v); } printf("%d\n",uf.GetMaxSetNum()); }}
阅读全文
0 0
- hdu 1856 More is better
- HDU 1856 more is better
- Hdu-1856 More is better
- hdu 1856 More is better
- hdu 1856 More is better
- hdu 1856 More is better
- HDU 1856 More is better
- HDU 1856 More is better
- HDU 1856 More is better
- HDU 1856 More is better
- hdu 1856 More is better
- hdu 1856 More is better
- HDU 1856 More is better
- hdu 1856 More is better
- hdu 1856 More is better
- HDU 1856 More is better
- hdu 1856 More is better
- hdu-1856 More is better
- 笨方法学python(本文为阅读时从此书摘录的笔记) 第三天
- 如何解决Tomcat服务器打开不了HOST Manager的问题
- 谁获得了最高奖学金
- 20170715 heforher
- 一物一码生码软件5.0发布
- HDU 1856 More is better
- 微信小程序不同页面之间的传值
- Maven打可运行jar包
- CAM350 导出DXF文件
- Spring-Spring Web项目中配置使用Log4j 2
- linux(debian) 安装tomcat 8.5
- django中mysql中表增加字段,migrate失败
- #POJ1328#Radar Installation(贪心)
- 创建第一个Servlet类配置web.xml文件