数据结构
集合
集合的遍历:
数组是默认下标+1向前遍历,集合是模拟向前,它自身还有一个分量逻辑上指向他的父亲,因此遍历就不再是简单的i++,会变成i=s[i].parent
union(带路径压缩)
1.修改father数组
2.返回根
最后一个输出不带空格
if(i<n) printf(" ")
course记录喜欢活动h的人的编号(映射 活动->人)
每次读取到某活动,就将这个人与与前一人(由course[h]提供)合并。
father记录父亲
isRoot代表x号人作为根节点的社交网络中有多少人,若x不是根节点则为0
init(int n)函数非常重要
1.初始化father[i]=i
2.初始化isRoot[i]=false
非递增排序
bool cmp(int a,int b){
return a>b;}