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 ...
随机推荐
- Windows phone 中一些实用的控件
一.TextBlock:这个控件其实就是Label控件. <TextBlock x:Name="PageTitle" Text="page name" M ...
- 【风马一族_Android】android的新发现
Intent intent = new Intent(); intent.setAction("android.intent.action.VIEW");这一段句话.可以调用出系统 ...
- 腾讯微博OAuth2.0 .NET4.0 SDK 发布以及网站腾讯微博登陆示例代码(原创)
1.使用简单方便,包含详细注释: 2.暂时只支持xml格式字符串的转换,建议接口使用xml参数:3.QweiboSDK.Controllers命名空间下已包含所有API接口:4.只需调用到Qweibo ...
- RHEL7 Ansible
[root@promote tt]# rpm -iUvh http://dl.Fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch ...
- [大牛翻译系列]Hadoop(3)MapReduce 连接:半连接(Semi-join)
4.1.3 半连接(Semi-join) 假设一个场景,需要连接两个很大的数据集,例如,用户日志和OLTP的用户数据.任何一个数据集都不是足够小到可以缓存在map作业的内存中.这样看来,似乎就不能使用 ...
- Ubuntu 在未知root密码的情况下修改root密码
一, 开机按 F12 (或长按Shift), 进入GRUB界面. 二, 在 recovery mode 按e Ubuntu, Linux 3.5.0-17-generic (恢复模式) (或recov ...
- Android Material Design的FloatingActionButton,Snackbar和CoordinatorLayout
如果是为了兼容低版本的Android系统,则需要引用Android Material Design的扩展支持库,我在之前的一篇文章张,较为详细的说明了如何导入Android Material Desi ...
- UNIX环境高级编程-环境配置
环境配置步骤如下. 1. 下载源文件:http://www.apuebook.com/src.tar.gz. 2. 复制src.tar.gz文件到/home/me/mydir/unixl/目录(自 ...
- JPA学习---第七节:使用JPA加载_更新_删除对象
1.添加数据,代码如下: @Test public void save(){ EntityManagerFactory factory = Persistence.createEntityManage ...
- C#开源大全--汇总
商业协作和项目管理平台-TeamLab 网络视频会议软件-VMukti 驰骋工作流程引擎-ccflow [免费]正则表达式测试工具-Regex-Tester Windows-Phone-7-SDK E ...