[模板]左偏树


可并堆

可以支持合并的堆.

/*大根堆*/
struct heap{
    int l,r,w,d;
}h[N];
int rt[N];//第i个堆的根的下标 
 
/*合并以x,y为根的堆*/
inline int merge(int x,int y){
    int t;
    //其中一个堆为空 
    if(!x||!y) return x+y;
     
    //使得x,y两个根中x大 
    if(h[x].w