HDOJ 1856 More is better
转自:wutianqi http://www.wutianqi.com/?p=1069
tag:并查集
- #include <iostream>
- using namespace std;
- #define MAX 10000001
- // father[x]表示x的父节点
- int father[MAX];
- // rank[x]表示x的秩
- int rank[MAX];
- // 初始化
- void Make_Set(int n)
- {
- for(int i=; i<=n; ++i)
- {
- father[i] = i;
- rank[i] = ;
- }
- }
- // 查找
- int Find_Set(int x)
- {
- if(x != father[x])
- return Find_Set(father[x]);
- return x;
- }
- // 合并
- void Union(int x, int y)
- {
- x = Find_Set(x);
- y = Find_Set(y);
- if(x == y) // x,y在同一个集合
- return;
- if(rank[x] > rank[y])
- {
- father[y] = x;
- rank[x] += rank[y];
- }
- else if(rank[x] < rank[y])
- {
- father[x] = y;
- rank[y] += rank[x];
- }
- else
- {
- father[x] = y;
- //rank[y]++;
- rank[y] += rank[x];
- }
- }
- int main()
- {
- //freopen("input.txt", "r", stdin);
- int a, b;
- int nNum;
- while(scanf("%d", &nNum) != EOF)
- {
- Make_Set(MAX);
- if(nNum==)
- {
- printf("1\n");
- continue;
- }
- for(int i=; i<nNum; ++i)
- {
- scanf("%d %d", &a, &b);
- Union(a, b);
- //printf("rank[%d]=%d rank[%d]=%d\n", a, rank[a], b, rank[b]);
- }
- int _max=;
- for(int i=; i<=MAX; ++i)
- //printf("%d ", rank[i]);
- if(_max < rank[i])
- _max = rank[i];
- printf("%d\n", _max);
- }
- return ;
- }
HDOJ 1856 More is better的更多相关文章
- 并查集(HDOJ 1856)
并查集 英文:Disjoint Set,即“不相交集合” 将编号分别为1…N的N个对象划分为不相交集合, 在每个集合中,选择其中某个元素代表所在集合. 常见两种操作: n 合并两个集合 ...
- HDOJ 1856
#include<cstdio> #include<cstdlib> typedef struct ufse *ufset; struct ufse { ]; ]; }UFS; ...
- hdoj 1856 More is better【求树的节点数】
More is better Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 327680/102400 K (Java/Others) ...
- Hdoj 1856.More is better 题解
Problem Description Mr Wang wants some boys to help him with a project. Because the project is rathe ...
- 杭电hdoj题目分类
HDOJ 题目分类 //分类不是绝对的 //"*" 表示好题,需要多次回味 //"?"表示结论是正确的,但还停留在模块阶 段,需要理解,证明. //简单题看到就 ...
- HDOJ 题目分类
HDOJ 题目分类 /* * 一:简单题 */ 1000: 入门用:1001: 用高斯求和公式要防溢出1004:1012:1013: 对9取余好了1017:1021:1027: ...
- HDOJ 1009. Fat Mouse' Trade 贪心 结构体排序
FatMouse' Trade Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- HDOJ 2317. Nasty Hacks 模拟水题
Nasty Hacks Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Tota ...
- HDOJ 1326. Box of Bricks 纯水题
Box of Bricks Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) To ...
随机推荐
- JSP_EL使用
JSP中EL表达式的简单介绍和使用 参考资料: http://www.java3z.com/cwbwebhome/article/article8/8124.html?id=2453 http ...
- 网易面试题:和为n连续正数序列
题目: 输入一个正数n,输出所有和为n连续正数序列.例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以输出3个连续序列1-5.4-6和7-8. 继续做些题目,看到这是网易面试题,于是 ...
- Tomcat部署web应用的方式
对Tomcat部署web应用的方式总结,常见的有以下四种: 1.[使用控制台部署] 访问Http://localhost:8080,并通过Tomcat Manager登录,进入部署界面即可. 2.[利 ...
- textarea 在光标处插入文字
效果演示 // 欢迎访问cssfirefly.cnblogs.com html: <textarea id="text" style="width:500px;he ...
- struts2 type="redirect"源码解析
首先解释一下几个名词: request.getRequestDispatcher()是请求转发,前后页面共享一个request ; response.sendRedirect()是重新定向,前后页面不 ...
- jQuery之$(document).ready()使用介绍
学习jQuery的第一件事是:如果你想要一个事件运行在你的页面上,你必须在$(document).ready()里调用这个事件 学习jQuery的第一件事是:如果你想要一个事件运行在你的页面上,你必须 ...
- eclipse,myeclipse svn 和jadclipse 反编译插件 及安装
插件下载链接:http://download.csdn.net/download/mmyzlinyingjie/6456785 myeclipse svn 安装: 把svn解压,然后把这个文件夹放在m ...
- Demo学习: Basic jQuery
UniGUI是一套基于ExtJS的Delphi的WEB框架,它是使用ExtPascal来转化到ExtJS,ExtJS是一个跨浏览器的JavaScript库,因此UniGUI发布出来的程序可以在各种浏览 ...
- oracle11g关于表空间的问题
1.oracle11g默认的块大小为8K 每个表空间里面的单个数据文件最大为32G (2^22-1) *4k 最多可以放1024个单个文件 SQL> show parameter ...
- oracle中的loop与while循环
Oracle中loop语句会先执行一次循环,然后再判断“exit when”关键字后面的条件表达式的值是true还是false,如果是true,那么将退出循环,否则继续循环. LOOP循环 语法如下l ...