并查集(路径压缩 && 启发式合并!!!)
2017-04-14 21:21
218 查看
#include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> using namespace std; int fa[200010],size[200010]; int find(int x){ if(fa[x] == x) return x; return fa[x] = find(fa[x]); } void mix(int x,int y){ x=find(x),y=find(y); if(x==y) return ; if(size[x] < size[y]) fa[x] = y, size[y] += size[x]; else fa[y] = x, size[x] += size[y]; } int main(){ int i,j,k,m,n,a,b,p; scanf("%d%d",&n,&m); for(i=1;i<=n;++i) fa[i]=i,size[i]=1; for(i=1;i<=m;i++){ scanf("%d%d%d",&p,&a,&b); if(p==1)mix(a,b); else cout<<((find(a) == find(b)) ? 'Y' : 'N')<<endl; } return 0; }
脑诺大神经的装逼杰作!!!
罗旅洲
相关文章推荐
- 并查集的启发式合并 和 路径压缩
- 并查集的优化---路径压缩与启发式合并
- 并查集 按秩合并&路径压缩
- 并查集——启发式合并,路径压缩
- 并查集路径压缩与启发式合并
- 并查集 & 路径压缩
- 并查集的“并优化”(leader合并)和“查优化”(路径压缩)
- 【模板】【数据结构】并查集(路径压缩+按秩合并)
- 并查集(2)-按秩合并和路径压缩
- 并查集(两个优化—按秩合并、路径压缩) poj2492
- 并查集的优化:按秩合并和路径压缩
- 并查集(按秩合并、路径压缩)
- 并查集的两种优化(按秩合并,路径压缩)
- 并查集讲解(按秩合并与路径压缩),模板与典型例题
- 数据结构实现之并查集(使用按秩合并和路径压缩)
- Disjointset 并查集(按秩合并,与路径压缩)的模板
- HDOJ 3635 并查集- 路径压缩,带秩合并
- 【算法】并查集—带路径压缩的按秩合并法
- POJ 2492 A Bug's Life(路径压缩并查集)
- BZOJ 4668 冷战 [并查集][按秩合并&启发式合并]