如果你 WA #4

P2839 [国家集训队] middle

SamHJD @ 2024-11-07 14:49:12

检查实现如下功能的代码,如果 a-1=0 则需要将 L0 取最小:

int get(int a,int b,int c,int d,int x){
    //[a,b] ~ [c,d] 中>=x改为1,<x改为0,最大区间和
    int sum=PST::query(rt[fir[x]-1],1,n,a-1,c-1).sum;
    int L=PST::query(rt[fir[x]-1],1,n,a-1,b-1).mn,R=PST::query(rt[fir[x]-1],1,n,c,d).mx;
    if(a==1) L=min(L,0);
    return R-L+sum;
}

|