如果你写树状数组取模的都取了而AC on #1#5#10
查看原帖
如果你写树状数组取模的都取了而AC on #1#5#10
906856
A2_Zenith楼主2023/9/12 20:33

观察如下代码:

void upd(int x,int y){
    int u=b[x];
    while(x<=n){
        s[x]+=(y-u)%mod;
        s[x]=(s[x]+mod)%mod;
        sqs[x]+=(y*y%mod-u*u%mod)%mod;
        sqs[x]=(sqs[x]+mod)%mod;
        x+=lowbit(x);
    }
}

改为:

void upd(int x,int y){
    int u=b[x];
    int lst=x;
    while(x<=n){
        s[x]+=(y-u)%mod;
        s[x]=(s[x]+mod)%mod;
        sqs[x]+=(y*y%mod-u*u%mod)%mod;
        sqs[x]=(sqs[x]+mod)%mod;
        x+=lowbit(x);
    }b[lst]=y;
}
2023/9/12 20:33
加载中...