并查集是一种树形的数据结构,顾名思义,它用于处理一些不交集的 合并
及 查询
问题。
它支持两种操作:
- 查找:确定某个元素处于哪个子集.
- 合并:将两个子集合并成一个集合。
基本模板:
const int N=1e5+10;
int p[N];
int find(int x)
{
if(x!=p[x]) p[x]=find(p[x]);
return p[x];
}
并查集分为:
- 常见的一般的并查集
- 带权并查集
基础习题:
836. 合并集合
837. 连通块中点的数量