hdu3635
/*
一开始第a个球在第a个城市
操作T a b,把第a个球所在城市的所有球移到b所在的城市
操作Q a
要求输出
第a个球在哪个城市
第a个球所在的城市有几个球
第a个球移动次数
*/
#include<iostream>
#include<cstring>
#include<cstdio>
#define move movee
#define MAXN 10005
using namespace std;
//第i个球所在城市,第i个球所在城市有几个球,第i个球移动次数
int F[MAXN],num[MAXN],move[MAXN];
int find(int a){
if(F[a]==-) return a;
int tmp=F[a];//保存a的父亲
F[a]=find(F[a]);//
move[a]+=move[tmp];
return F[a];
}
//把a所在的集合移到b所在的集合
void bing(int a,int b){
int t1=find(a);
int t2=find(b);
if(t1!=t2){
F[t1]=t2;
move[t1]=;
num[t2]+=num[t1];
}
}
int main(){
int T,n,q;
cin >> T;
for(int tt=;tt<=T;tt++){
scanf("%d%d",&n,&q);
for(int i=;i<=n;i++){
F[i]=-;
num[i]=;
move[i]=;
}
char op[];
int a,b;
printf("Case %d:\n",tt);
while(q--){
scanf("%s",op);
if(op[]=='T'){
scanf("%d%d",&a,&b);
bing(a,b);
}
else {
scanf("%d",&a);
int tmp=find(a);
printf("%d %d %d\n",tmp,num[tmp],move[a]);
}
}
}
return ;
}
hdu3635的更多相关文章
- *HDU3635 并查集
Dragon Balls Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tota ...
- hdu3635 Dragon Balls(带权并查集)
/* 题意:有N个城市, 每一个城市都有一个龙珠(编号与城市的编号相同),有两个操作 T A ,B 将标号为A龙珠所在城市的所有的龙珠移动到B龙珠所在城市中! 思路:并查集 (压缩路径的时候将龙珠移动 ...
- Dragon Balls(hdu3635带权并查集)
题意:n个城市有n个龙珠,T a,b 代表将龙珠a移动到b城市,Q a代表查询龙珠a所在城市,该城市有多少颗龙珠,该龙珠移动了多少次. 注意:移动时是将龙珠所在该城市所有龙珠都移动,每个龙珠不会再回 ...
- 【lazy标记得思想】HDU3635 详细学习并查集
部分内容摘自以下大佬的博客,感谢他们! http://blog.csdn.net/dm_vincent/article/details/7769159 http://blog.csdn.net/dm_ ...
- Dragon Balls[HDU3635]
Dragon Balls Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
- hdu3635 Dragon Balls
Problem Description Five hundred years later, the number of dragon balls will increase unexpectedly, ...
- 并查集(Union-Find) 应用举例 --- 基础篇
本文是作为上一篇文章 <并查集算法原理和改进> 的后续,焦点主要集中在一些并查集的应用上.材料主要是取自POJ,HDOJ上的一些算法练习题. 首先还是回顾和总结一下关于并查集的几个关键点: ...
随机推荐
- .Net Core 配置文件appsettings
1.配置文件为appsettings 在appsettings添加ConnectionStrings: { "Logging": { "IncludeScopes&quo ...
- [kuangbin带你飞]专题一 简单搜索(回顾)
A - 棋盘问题 POJ - 1321 注意条件:不能每放一个棋子,就标记一行和一列,我们直接枚举每一行就可以了. AC代码: #include<iostream> #include< ...
- MGR架构~ 整体性能架构的调优
一 简介:MGR集群架构的调优二 过程:本文将从各个角度来具体阐述下三 硬件 1 硬件选择相同配置的服务器,磁盘,内存,cpu性能越高越好四 网络 1 0丢包和最好万兆网卡五 MGR本身 ...
- ubuntu14.04安装Anaconda
1 安装anaconda 为了安装python等各种依赖包,我安装了Anaconda工具包,在清华源下载了Anaconda的镜像 1.1 下载anaconda 如果用python2.7,就下载An ...
- vue中如何让多个echarts随屏幕大小变化
在vue项目中使用Echarts 一般window.onsize在页面中只能存在一个. 如何在一个页面中多个echarts使用window.onresize? myChart 可以放在Data ...
- 20165231 2017-2018-2 《Java程序设计》第9周学习总结
教材学习内容总结 第十三章 URL类 URL类是java.net包中的一个重要的类,URL的实例封装着一个统一资源定位符(Uniform Resource Locator),使用URL创建对象的应用程 ...
- Linux今日疑问
问题一:who -r没有反应 ========== 首先我查询了运行等级的含义. 0: 关机 1: 单用户 2: 无网络的多用户 3: 命令行模式 4: 未用 5: GUI(图形桌面 模式) 6 : ...
- c++不定参数函数
不定参数当年做为C/C++语言一个特长被很多人推崇,但是实际上这种技术并没有应用很多.除了格式化输出之外,我实在没看到多少应用.主要原因是这种技术比较麻烦,副作用也比较多,而一般情况下重载函数也足以替 ...
- Loj 【CQOI 2006】简单题,mmp
#10117. 「一本通 4.1 练习 2」简单题 题目描述 题目来源:CQOI 2006 有一个 nnn 个元素的数组,每个元素初始均为 000.有 mmm 条指令,要么让其中一段连续序列数 ...
- office xml 方式
office2007以上版本(2003需要增加2007插件)可以采用xml方式操作生成excel,效率高,无并发问题,比传统com组件方式更方便