过了几个月,再来做这题,以前在poj做过。
属于同一个集合的生物,则关系确定。而这些关系都是相对于根节点的。rank[x]=0,代表set[x]与x同性,rank[x]=1代表set[x]与x异性。
若x,y属于同一个集合,若rank[x]==rank[y]则报错,若rank[x]!=rank[y]则不处理
若x,y不属于同一个集合,则合并两个集合,只要修改set[ry],rank[ry];
在每次的查找过程中,递归的修改x到rx路径上的点的set和rank。
过了几个月,再来做这题,以前在poj做过。
属于同一个集合的生物,则关系确定。而这些关系都是相对于根节点的。rank[x]=0,代表set[x]与x同性,rank[x]=1代表set[x]与x异性。
若x,y属于同一个集合,若rank[x]==rank[y]则报错,若rank[x]!=rank[y]则不处理
若x,y不属于同一个集合,则合并两个集合,只要修改set[ry],rank[ry];
在每次的查找过程中,递归的修改x到rx路径上的点的set和rank。