这是一个正常的左偏树合并
int merge(int x,int y){
if(!x||!y) return x|y;
if(tr[x].v>tr[y].v) swap(x,y);
tr[x].rs=merge(tr[x].rs,y);
if(tr[tr[x].ls].dist<tr[tr[x].rs].dist) swap(tr[x].ls,tr[x].rs);
tr[x].dist=tr[tr[x].rs].dist+1;
return x;
}
然而我将 tr[x].dist=tr[tr[x].rs].dist+1; 误打成了 tr[x].dist=tr[tr[x].ls].dist+1; 仍能通过且运行速度几乎无影响。由于左偏树的 dist 只影响合并时选择的子树不会影响答案所以也不会 WA,自己尝试了构造 hack 数据也没有成功,求助有无能将这种写法卡掉的数据?