社区讨论
本地和洛谷IDE都没问题,提交全部RE......
P3948数据结构参与者 2已保存回复 9
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 9 条
- 当前快照
- 1 份
- 快照标识符
- @lo7mp6bn
- 此快照首次捕获于
- 2023/10/27 04:20 2 年前
- 此快照最后确认于
- 2023/10/27 04:20 2 年前
RT
CPP#include<bits/stdc++.h>
using namespace std;
#define N 80100
int sum[N],dif[N];
signed main(){
//freopen(".in","r",stdin);
//freopen("problem.out","w",stdout);
int n,q,mod,minn,maxx;
scanf("%d%d%d%d%d",&n,&q,&mod,&minn,&maxx);
while(q--){
char c;
int l,r;
getchar();
scanf("%c%d%d",&c,&l,&r);
//cout<<c<<" "<<l<<" "<<r<<" ";
if(c=='A'){
int x;
scanf("%d",&x);
//cout<<x<<endl;
dif[l]+=x;
dif[r+1]-=x;
}
else{
int now=0,ans=0;
for(int i=1;i<l;i++)now+=dif[i];
for(int i=l;i<=r;i++){
now+=dif[i];
int tmp=now*i%mod;
if(tmp>=minn&&tmp<=maxx)ans++;
}
printf("%d\n",ans);
}
}
for(int i=1;i<=n;i++){
dif[i]+=dif[i-1];
int tmp=dif[i]*i%mod;
if(tmp>=minn&&tmp<=maxx)sum[i]++;
sum[i]+=sum[i-1];
}
scanf("%d",&q);
while(q--){
int l,r;
scanf("%d%d",&l,&r);
//cout<<l<<" "<<r<<endl;
printf("%d\n",sum[r]-sum[l-1]);
}
return 0;
}
回复
共 9 条回复,欢迎继续交流。
正在加载回复...