并查集
Jim20
我爱acm
展开
-
pku1988
#include#includeint parent[30001];//保存此节点的父节点(不是根节点)int height[30001];//保存该节点说在集合的根节点之下的节点数目(最上面的节点)int under[30001];//保存该节点之下的节点数目(最下面的节点)int FindParent(int x,int &hx) { int xParent; if(paren转载 2009-03-01 11:40:00 · 628 阅读 · 0 评论 -
pku 2524 第一道靠自己ac的并查集
#include#includeint parent[50003];void InitSet(int n){ int i; for(i=1;i parent[i]=i;}int FindParent(int x){ while(parent[x]!=x) { x=parent[x]; } return x;}void MergeSet(int x,int y){ int t1=Fi原创 2009-03-01 09:55:00 · 643 阅读 · 0 评论 -
并查集总结
这两天做了一些有关并查集的题,对题目的类型做一下总结;第一类,parent[]数组记录的是该节点所在集合的根节点,此类题一般要让你判断输入的两节点是否存在给定的某种关系;第二类,parent[]记录的是该节点的父节点,此类题要增加数组,如height[](记录该节点到根节点的距离),under[](记录当前节点下面节点的数目)原创 2009-03-01 13:21:00 · 572 阅读 · 0 评论