
并查集
NOTTME
这个作者很懒,什么都没留下…
展开
-
HDU3047(带权并查集)
#include #include using namespace std;int parent[50005];int rank[50005];int X;int getpar(int a){ if (parent[a]!=a) { int tempar=parent[a]; parent[a]=getpar(parent[a]); ran原创 2014-03-20 18:04:27 · 647 阅读 · 0 评论 -
Sicily10481(并查集)
x y L其实表示x和y不同,x y T表示x和y相同。rank[x]表示第x个元素和其根节点的关系,rank[x]=1表示和根节点不同,rank[x]=0表示和根节点相同。特别注意当B集合合并到A集合的时候,B集合的根节点的rank值需要更新,且其所有子节点也可能需要更新,在路径压缩的时候进行特殊处理确保子节点能够得到正确的rank值。#include #include #inc原创 2014-03-19 17:59:25 · 603 阅读 · 0 评论 -
Sicily1350(并查集)
#include #include #include using namespace std;int parent[1000005];bool hash[1000005];int getpar(int a){ if (parent[a]!=a) parent[a]=getpar(parent[a]); return parent[a];}int main(){ i原创 2013-12-21 11:57:05 · 699 阅读 · 0 评论 -
POJ1611(并查集)
#include #include #include #include using namespace std;int getpar(int* parent,int a){ if (parent[a]!=a) parent[a]=getpar(parent,parent[a]); return parent[a];}int main(){ int n,m; wh原创 2013-07-10 21:01:29 · 580 阅读 · 0 评论 -
POJ2524(并查集)
if (getpar(parent,a)!=getpar(parent,b)) parent[parent[b]]=getpar(parent,a);原创 2013-07-10 19:38:35 · 682 阅读 · 0 评论