z

你没有发现两个字里的blog都不一样嘛 qwq

题目描述-->p3948 数据结构

分析

其实这题完全没有分析的 qwq.

只是因为写了差分数组相关知识,所以顺便写一下题解 qwq.

对于前面几种操作,我们无法确定A和Q哪个先出现.

出题人先给你一个Q再给你个A,再给你个Q,再给你个A,\(\dots\) 这就搞得很无奈啊.

因此,对于前面的询问操作我们可以暴力去求.

而对于后面的操作,我们可以通过差分数组预处理出来一个\(sum\)数组来\(O(1)\)输出\(ans\)

如果不了解差分的话,可以来这里看看 qwq

-----------------代码----------------

#include<bits/stdc++.h>
#define IL inline
#define int long long
#define R register
using namespace std;
IL void in(int &x)
{
int f=1;x=0;char s=getchar();
while(s>'9' or s<'0'){if(s=='-')f=-1;s=getchar();}
while(s>='0' and s<='9'){x=x*10+s-'0';s=getchar();}
x*=f;
}
char op;
int b[80008],n,m,mod,mnn,mxx,Final,sum[80008];
main()
{
in(n),in(m),in(mod),in(mnn),in(mxx);
for(R int i=1,l,r,x;i<=m;i++)
{
R char op;
cin>>op;
in(l),in(r);
switch(op)
{
case 'A':in(x);b[l]+=x;b[r+1]-=x;break;
case 'Q':
{
R int ans=0,now=0;
for(R int i=1;i<=r;i++)
{
now+=b[i];
if(i>=l and (now*i)%mod>=mnn and (now*i)%mod<=mxx)ans++;
}
printf("%lld\n",ans);
break;
}
}
}
R int now=0;
for(R int i=1;i<=n;i++)
{
now+=b[i];
if((now*i)%mod>=mnn and (now*i)%mod<=mxx )sum[i]=sum[i-1]+1;
else sum[i]=sum[i-1];
}
in(Final);
for(R int l,r;Final;Final--)
{
in(l),in(r);
printf("%lld\n",sum[r]-sum[l-1]);
}
}

最新文章

  1. C#生成带logo的二维码
  2. MariaDB+Keepalived双主高可用配置MySQL-HA
  3. python(九)re模块
  4. MultiProvider
  5. DCMTK开源库的学习笔记4:利用ini配置文件对dcm影像进行归档
  6. Aliasing 走样
  7. 【转载】spring的普通类中如何取session和request对像
  8. centos php php-fpm install
  9. lightoj1057 - Collecting Gold (tsp问题)
  10. Java线程:同步
  11. 分布式文件系统 FastDFS 5.0.5 &amp; Linux CentOS 7 安装配置(单点安装)——第一篇
  12. CMD和seaJS
  13. AO之Addins开发[杂谈1] Toolbar中添加一条分割线
  14. angularjs 服务详解
  15. SmokePing介绍
  16. 解析Django路由层URLconf
  17. Servlet会话管理三(HttpSession)
  18. Python+Selenium笔记(十四)鼠标与键盘事件
  19. 机器学习:分类算法性能指标之ROC曲线
  20. 洛谷.3381.[模板]最小费用最大流(zkw)

热门文章

  1. 【Spiral Matrix】cpp
  2. 如何在乌班图上配置java开发环境
  3. Python全栈工程师(装饰器、模块)
  4. [ecmagent][redis学习][1初识redis] redis安装+redis快速教程+python操作redis
  5. iPhone:iOS界面,本地生成随机验证码
  6. 有向图强连通分量Tarjan算法
  7. YouTube高效传输策略:节省14%带宽 用户体验提升
  8. 大型C++项目必须注意的几个小问题
  9. NOIP2017赛前考试注意事项总结
  10. java.net.BindException: Address already in use: JVM_Bind &lt;null&gt;:8080错误