并查集模板
Posted waryan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了并查集模板相关的知识,希望对你有一定的参考价值。
const int N=120; int father[N]; int rank1[N]; void init(int Size) { for(int i=1;i<=Size;++i) father[i]=i,rank1[i]=0; } int Find(int x) { while(x!=father[x]) x=father[x]; return x; } bool Union(int x,int y) { int fx,fy; fx=Find(x),fy=Find(y); if(fx==fy) return false; else if(rank1[fx]>=rank1[fy]) { father[fy]=fx; rank1[fx]+=rank1[fy]; } else { father[fx]=fy; rank1[fy]+=rank1[fx]; } return true; }
以上是关于并查集模板的主要内容,如果未能解决你的问题,请参考以下文章
带权并查集(含种类并查集)经典模板 例题:①POJ 1182 食物链(经典)②HDU - 1829 A bug's life(简单) ③hihoCoder 1515 : 分数调查(示例代码(代