并查集uva1329(LA3027)
来源:互联网 发布:电视剧大全软件下载 编辑:程序博客网 时间:2024/06/04 20:17
思路:查询的时候,维护一个距离数组,保存每次改变父节点后,每个节点到根节点的距离。
#include<iostream>#include<cstdio>using namespace std;const int maxn=20010;int n,pra[maxn],rank[maxn],dis[maxn],head[maxn];void init(){ for(int i=0;i<=n;i++) { pra[i]=i; rank[i]=0; dis[i]=0; }}int Abs(int x){ return x>=0?x:(-x);}int find(int u){ if(pra[u]==u){dis[u]=0;return u;} int v=pra[u]; pra[u]=find(pra[u]); dis[u]+=dis[v]; return pra[u];}void unite(int a,int b){ pra[a]=b;}int main(){ int t,u,v; char x; cin>>t; while(t--) { cin>>n; init(); while(cin>>x,x!='O') { if(x=='I'){cin>>u>>v;unite(u,v);head[u]=v;dis[u]=Abs(u-v)%1000;} else if(x=='E') { cin>>u; if(pra[pra[u]]!=pra[u]) find(u); cout<<dis[u]<<endl; } } } return 0;}
0 0
- 并查集uva1329(LA3027)
- 并查集LA3027
- LA3027(并查集)
- LA3027之并查集
- LA3027 - Corporative Network,并查集
- LA3027 带权并查集
- LA3027简单带权并查集
- LA3027:Corporative Network(并查集)
- uva1329 Corporative Network(并查集:路径压缩)
- LA3027——带权值的并查集
- LA3027 并查集 压缩路径+维护距离
- LA3027 Corporative Network 带权并查集入门
- 并查集初学(2)LA 3644 & LA3027
- LA3027:Corporative Network(并查集) uva 1329
- LA3644,LA3027 并查集,LRJ训练指南
- LA3027
- HDU3938 并查集 并查集
- 并查集(集并查)
- UFLDL Exercise:PCA and Whitening
- 三 :ios学习笔记 音频 视频
- Unity Input Touch
- C语言swap函数
- 编译libxml2-2.6.26 __open_missing_mode 错误
- 并查集uva1329(LA3027)
- iOS 控件之 UISwitch
- 内部、外部分区表
- 程序员的十层楼
- 对Android Target SDK的理解
- SRILM语言模型工具
- 自定义本地相册
- UFLDL Exercise:PCA in 2D
- 使用NDK编译的时候出现 undefined reference to