int search(int p,int l,int r,int pos)
{
if(!p) return 0;
if(l==r) return t[p].Max?l:0;
int mid=l+r>>1;
if(pos<=mid) return search(t[p].ls,l,mid,pos);
else
{
int t=search(t[p].rs,mid+1,r,pos);
return t?t:search(t[p].ls,l,mid,pos);
}
}
RT,查找差分数组第一个不为0的位置的复杂度为啥没超时。。
一个全0数列,从最后一个数开始查找,不就会递归完所有节点了么。。