HDU - 3635 Dragon Balls
来源:互联网 发布:vscode搭建kotlin 编辑:程序博客网 时间:2024/05/16 07:38
#include<iostream>#include <stdio.h>#include <algorithm>#include <string.h>using namespace std;int f[10005],ti[10005];int find(int x){ if(f[x]<0) return x; else { int tt=f[x]; f[x]=find(f[x]); ti[x]+=ti[tt]; return f[x]; } }int main(){ int t,tt=0; scanf("%d",&t); while(t--) { printf("Case %d:\n",++tt); int n,m; scanf("%d%d",&n,&m); for(int i=1;i<=n;++i) {f[i]=-1;ti[i]=0;} for(int i=0;i<m;i++) { char ch; scanf(" %c",&ch); if(ch=='T') { int a,b; scanf("%d%d",&a,&b); int fa=find(a),fb=find(b); if(fa!=fb) { f[fb]+=f[fa]; f[fa]=fb; ti[fa]++; } } if(ch=='Q') { int a; scanf("%d",&a); int fa=find(a); printf("%d %d %d\n",fa,-f[fa],ti[a]); } } } return 0;}
本来以为自己对并查集已经很了解了 没想到WA了那么久 题目不难 要注意搬迁的次数完全取决于根节点移动的次数 而根节点移动的次数又取决于其根节点的移动次数 有点像递归
0 0
- hdu 3635 Dragon Balls
- HDU-3635 Dragon Balls
- HDU 3635 Dragon Balls
- HDU-3635-Dragon Balls
- hdu 3635 Dragon Balls
- HDU 3635 Dragon Balls
- HDU 3635 Dragon Balls
- HDU 3635 Dragon Balls
- HDU 3635 Dragon Balls
- hdu 3635 Dragon Balls
- hdu 3635 Dragon Balls
- HDU - 3635 Dragon Balls
- HDU 3635 Dragon Balls
- HDU 3635 Dragon Balls
- 3635 HDU Dragon Balls
- hdu 3635 Dragon Balls
- hdu-3635 Dragon Balls
- HDU 3635 Dragon Balls
- mongoose 4.1版本源码架构分析
- 一切成功源于积累——20140120-20140124周 复盘(3) 美加
- ZOJ 2770 Burn the Linked Camp 差分约束 ZOJ排名第一~
- 一切成功源于积累——20140120-20140124周 复盘(4) 黄金
- 合并排序(MergeSort)
- HDU - 3635 Dragon Balls
- 开源项目:ImageLoader研究
- 一切成功源于积累——20140120-20140124周 复盘(5) 美瑞
- 要好好锻炼自己的身体啊
- 一切成功源于积累——20140126 交易心理分析 任何情况都有可能 包括爆仓
- SD卡管理
- ubuntu12.04 安装无线网卡驱动
- 顺序栈的实现和操作
- 求最大权二分匹配的KM算法