int merge(int k1,int k2,int l,int r){
int mid=l+r>>1;
if(!k1) return k2;
if(!k2) return k1;
if(l==r){
tr[k1].maxn+=tr[k2].maxn;
return k1;
}
ls(k1)=merge(ls(k1),ls(k2),l,mid);
rs(k1)=merge(rs(k1),rs(k2),mid+1,r);
push_up(k1);
return k1;
}
有没有好一点的说明,洛谷板子题解区、oi-wiki 都没有找到较好的说明,大都是当成结论记。