- 此题和上一个很类似,只是我们需要在合并集合的同时将集合内的元素个数相加,想到可以再申请一个计数数组,其下标与并查集下标对应。
#include <stdio.h>
#define N 10000001
int tree[N];
int sum[N];//求并查集的元素个数
int findroot(int x){
//递归查找祖先
if(tree[x]==-1)
#include <stdio.h>
#define N 10000001
int tree[N];
int sum[N];//求并查集的元素个数
int findroot(int x){
//递归查找祖先
if(tree[x]==-1)