模板 //查询祖宗节点 int find(int x) { if (p[x] != x) p[x] = find(p[x]); return p[x]; } //合并两个集合 p[find(a)] = find(b); //初始化 for (int i = 1; i <= n; i ++ ) p[i] = i;