约 10 分钟
用数组 fa[x] 记录 x 的父亲,代表的父亲是它自己。find 就是顺着父亲一直往上找到根:int find(int x){ while(fa[x]!=x) x=fa[x]; return x; }。初始时每个元素自成一组,即 fa[i]=i。
fa[x]
int find(int x){ while(fa[x]!=x) x=fa[x]; return x; }
fa[i]=i
如果 fa[x]==x,说明 x 是什么?
fa[x]==x
登录 后可看答案