在寻找区间最小值位置的函数中记得下传标记
int getmin(int l,int r){
int x,y,z;
lspl(rt,r,x,z);
lspl(x,l-1,x,y);
ans=siz[x];
int i=y;
while(1){
pd(i);
int MINN=minn[i],MINN1=minn[son[i][0]],MINN2=minn[son[i][1]];
if(min(MINN1,MINN2)>MINN){
ans+=siz[son[i][0]]+1;
break;
}
if(MINN1<MINN2){
i=son[i][0];
}else{
ans+=siz[son[i][0]]+1;
i=son[i][1];
}
}
rt=mer(mer(x,y),z);
return ans;
}