
并查集
巴扎嘿呀
学习知识图谱中~欢迎交流
展开
-
C - Association for Control Over Minds (并查集+vector)
#include<bits/stdc++.h> using namespace std; const int N=5e5+100; int p[N]; int num[N]; vector<int> v; int find(int x){ if(p[x]!=x) p[x]=find(p[x]); return p[x]; } void he(int x,int y){ int xx=find(x); int yy=find(y); if(xx!=yy){ p[xx]=.原创 2020-10-04 00:17:49 · 204 阅读 · 0 评论 -
并查集(模板)
int p[N]; //存储每个点的祖宗节点 // 返回x的祖宗节点 int find(int x) { if (p[x] != x) p[x] = find(p[x]); return p[x]; } // 初始化,假定节点编号是1~n for (int i = 1; i <= n; i ++ ) p[i] = i; // 合并a和b所在的两个集合: p[find(a)] = find(b); //维护size的并查集: int p[..原创 2020-09-22 19:49:13 · 365 阅读 · 0 评论