带权并查集 并查集 把N个元素分成一些元素的集合,需要反复查该元素所在的集合。 主要思路:把每个节点压缩到祖先节点的子节点,使查询时用的时间更少 代码 int s[N] = { 0};//存每个节点的父亲节点下标,祖先为0,所以初值赋0 int parent(int n)//求出祖先节点并压缩路径 { int x = n; while(s[x])x = s[x]; s[n] = x; return x; } void add(int x,int