晚 2h 开打
主席树
void update(int& p,int pre,int l,int r,int x)
{
p=++cnt;
lson[p]=lson[pre]; rson[p]=rson[pre]; siz[p]=siz[pre]+1;
if(l==r) return;
int mid=(l+r)>>1;
if(x<=mid) update(lson[p],lson[pre],l,mid,x);
else update(rson[p],rson[pre],mid+1,r,p);
push_up(p);
}
else update(rson[p],rson[pre],mid+1,r,p);
硬是没调出来。考后发现改完一发A了。
并且 T2 freopen 没删注释。