萌新求问,这是什么复杂度的?QAQ
if(rd[x]<rd[y]) 能起到类似启发式合并的效果吗?
int merge(int x,int y){
if(!x||!y) return x|y;
if(rd[x]<rd[y]) swap(x,y);
int u,v;
pushdown(x),split(y,u,v,val[x]);
return lc[x]=merge(lc[x],u),rc[x]=merge(rc[x],v),pushup(x),x;
}
(val 满足 BST 性质,随机权 rd 满足堆性质)