可以快速合并两个堆
定义为x到达的最远的右边的点的距离
则左偏树满足右左
合并只要往右树上合并就行了
删除:合并两个子树
int merge(int x,int y){
if(!x||!y)return x+y;
if(v[x]<v[y]||(v[x]==x[y]&&x<y))swap(x,y);
ch[x][1]=merge(ch[x][1],y);
f[ch[x][1]]=x;
if(dis[ch[x][0]]<dis[ch[x][1]])swap(ch[x][0],ch[x][1]);
dis[x]=dis[ch[x][1]]+1;
return x;
}