MnZn刚学扫描线eps秒,AC了但对于上传操作的疑问
查看原帖
MnZn刚学扫描线eps秒,AC了但对于上传操作的疑问
229008
yshpdyt楼主2023/9/5 21:02
void update(ll p,ll le,ll ri,ll x){
    ll l=tr[p].l,r=tr[p].r;
    if(l>=le&&r<=ri){
        tr[p].cnt+=x;
        pushup(p);
        return ;
    }
    ll mid=(l+r)>>1;
    if(l<mid)update(p<<1,le,ri,x);
    if(r>=mid)update(p<<1|1,le,ri,x);
    pushup(p);
}

如图上面的连样例都过不去,下面的可以直接AC

void update(ll p,ll le,ll ri,ll x){
    ll l=tr[p].l,r=tr[p].r;
    if(ri<l||le>r)return;
    if(l>=le&&r<=ri){
        tr[p].cnt+=x;
        pushup(p);
        return ;
    }
    ll mid=(l+r)>>1;
    update(p<<1,le,ri,x);
    update(p<<1|1,le,ri,x);
    pushup(p);
}
2023/9/5 21:02
加载中...