HDU 2860 并查集
http://acm.hdu.edu.cn/showproblem.php?pid=2860
n个旅,k个兵,m条指令
AP 让战斗力为x的加入y旅
MG x旅y旅合并为x旅
GT 报告x旅的战斗力
几个需要注意的小问题是:已经被合并过的不能再参加合并这样就简化了并查集本身的复杂度只存在一层继承关系
一道简单的并查集题目,一开始不知道什么情况总是PE,格式上找不到错23333
后来参考了潘大神的代码,原来是最后回车的位置粗了偏擦23333
#include<stdio.h>
#define inf 0x3f3f3f3f
int par[];
int miner[];
int min(int a,int b)
{
if(a>b){return b;}
else return a;
}
void atfirst(int n)
{
int i;
for(i=;i<n;i++)
{
par[i]=i;
miner[i]=inf;
}
}
int find(int x)
{
return x!=par[x]?par[x]=find(par[x]):x;
}
int main()
{
int i,k,n,m;
int r,c;
freopen("in.txt","r",stdin);
freopen("out.txt","w",stdout);
while(scanf("%d%d%d",&n,&k,&m)!=EOF)
{
atfirst(n);
for(i=;i<=k;i++)
{
scanf("%d%d",&r,&c);
miner[c]=min(r,miner[c]);
}
for(i=;i<=m;i++)
{
char donser[];
scanf("%s",&donser);
if(donser[]=='A')
{
scanf("%d%d",&r,&c);
if(par[c]!=c){printf("Reject\n");continue;}
miner[c]=min(r,miner[c]);
printf("Accept\n");
}
if(donser[]=='M')
{
scanf("%d%d",&r,&c);
if(r==c){printf("Reject\n");continue;}
if(par[r]==r&&par[c]==c)
{
par[c]=r;
miner[r]=min(miner[r],miner[c]);
printf("Accept\n");
}
else printf("Reject\n");
}
if(donser[]=='G')
{
scanf("%d",&r);
if(par[r]==r&&miner[r]!=inf)
printf("Lowest rate: %d.\n",miner[r]);
else if(par[r]==r&&miner[r]==inf)
printf("Company %d is empty.\n",r);
else
{
printf("Company %d is a part of company %d.\n",r,find(r));
}
}
}
printf("\n");
}
return ;
}
HDU 2860 并查集的更多相关文章
- hdu 4514 并查集+树形dp
湫湫系列故事——设计风景线 Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Tot ...
- HDU 3926 并查集 图同构简单判断 STL
给出两个图,问你是不是同构的... 直接通过并查集建图,暴力用SET判断下子节点个数就行了. /** @Date : 2017-09-22 16:13:42 * @FileName: HDU 3926 ...
- HDU 4496 并查集 逆向思维
给你n个点m条边,保证已经是个连通图,问每次按顺序去掉给定的一条边,当前的连通块数量. 与其正过来思考当前这边会不会是桥,不如倒过来在n个点即n个连通块下建图,检查其连通性,就能知道个数了 /** @ ...
- HDU 1232 并查集/dfs
原题: http://acm.hdu.edu.cn/showproblem.php?pid=1232 我的第一道并查集题目,刚刚学会,我是照着<啊哈算法>这本书学会的,感觉非常通俗易懂,另 ...
- hdu 1198 (并查集 or dfs) Farm Irrigation
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1198 有题目图11种土地块,块中的绿色线条为土地块中修好的水渠,现在一片土地由上述的各种土地块组成,需要浇 ...
- hdu 1598 (并查集加贪心) 速度与激情
题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1598 一道带有贪心思想的并查集 所以说像二分,贪心这类基础的要掌握的很扎实才行. 用结构体数组储存公 ...
- hdu 4496(并查集)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4496. 思路:简单并查集应用,从后往前算就可以了. #include<iostream> ...
- 2015多校第6场 HDU 5361 并查集,最短路
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5361 题意:有n个点1-n, 每个点到相邻点的距离是1,然后每个点可以通过花费c[i]的钱从i点走到距 ...
- HDU 1856 并查集
http://acm.hdu.edu.cn/showproblem.php?pid=1856 More is better Time Limit: 5000/1000 MS (Java/Others) ...
随机推荐
- 20145212《Java程序程序设计》课程总结
20145212<Java程序程序设计>课程总结 一.每周读书笔记链接汇总 第一周读书笔记 第二周读书笔记 第三周读书笔记 第四周读书笔记 第五周读书笔记 第六周读书笔记 第七周读书笔记 ...
- 第5章 jQuery对表单、表格的操作及更多应用
本章主要是对前面4章的小结和应用. 一. 表单form应用 表单分为3个组成部分 (1)form标签 表单可包含文本域,复选框,单选按钮等等.表单用于向指定的 URL 传递用户数据. (2)表单域 - ...
- C++中dynamic_cas操作符的工作原理
http://stackoverflow.com/questions/13783312/how-does-dynamic-cast-work http://publib.boulder.ibm.com ...
- lazyload.js实现图片异步载入
所谓图片异步加载,意思是不用一次把图片全部加载完,你可以叫它延迟加载,缓冲加载都行. 看看你有没有这种需求:某篇文章图片很多,如果在载入文章时就载入所有图片,无疑会延缓载入速度,让用户等更久,所以,我 ...
- 商城常用css分类代码
如图: 原代码如下: <div class="allMerchan bgnone"> <h2 class="ttlm_category"> ...
- 集成EaseUI报错 环信3.1.5,托入EaseUI后,系统文件报错
一托入EaseUI的文件夹,就各种系统报错,NSObject文件也错了,不能编译UIKit头文件…………………… 解决方案以及参考文档 http://www.jianshu.com/p/291ac34 ...
- DELL服务器引导光盘图片及下载链接
DELL服务器引导光盘图片及下载链接 所有的下载地址均是ftp开头的,下载时,请 拷贝下载地址,然后放到浏览器的地址栏进行下载! 各个下载地址汇总: http://search.dell.com/re ...
- sqlserver权限体系(下)
简介 在上一篇文章中,我对主体的概念做了全面的阐述.本篇文章接着讲述主体所作用的安全对象以及所对应的权限. 理解安全对象(Securable) 安全对象,是SQL Server 数据库引擎授权系统控制 ...
- 参数化查询为什么能够防止SQL注入
原文地址: http://www.cnblogs.com/LoveJenny/archive/2013/01/15/2860553.html http://zhangxugg-163-com.itey ...
- JavaScript内置对象与原型继承
(一) 理解JavaScript类定义 1>关于内置对象理解 console.log(Date.prototype.__proto__===Object.prototype //tru ...