为什么第一种写法是错的?
void del(int val){
split(rt,val,tmp1,tmp2);
tmp1=merge(tr[tmp1].c[0],tr[tmp1].c[1]);
rt=merge(tmp1,tmp2);
}
void del(int val){
split(rt,val,tmp1,tmp3),split(tmp1,val-1,tmp1,tmp2);
tmp2=merge(tr[tmp2].c[0],tr[tmp2].c[1]);
rt=merge(merge(tmp1,tmp2),tmp3);
}