前缀和

sum[i]表示前i个数的和
每次读入a[i]的时候
sum[i] = sum[i - 1] + a[i]; 查询l ~ r区间的和: sum[r] - sum[l - 1]

差分

即前缀和的修改操作
我们定义pre[i]表示前i个数需要改变的值
则对一个区间l ~ r + k的操作是
pre[r] + k; pre[l - 1] - k;
则多算的1 ~ l - 1部分就抵消,等价与l ~ r + k; 本题中同一关系可能给出多次,需用map或hash判重
 #include<iostream>
#include<cstdio>
#include<cstring>
#include<map>
using namespace std;
map<pair<int,int>,bool> vis;
int a[],b[];
int n,p,h,m;
int main()
{
scanf("%d%d%d%d",&n,&p,&h,&m);//本题中给出的p(最高牛的位置)没有用处
for(int i=,x,y;i<=m;i++)
{
scanf("%d%d",&x,&y);
if(x>y) swap(x,y);// x < y
if(vis[make_pair(x,y)]) continue;//map判重
a[x+]--,a[y]++;//差分 影响从a[x+1]开始 持续到a[y-1]
vis[make_pair(x,y)]=true;
}
for(int i=;i<=n;i++)
{
b[i]=b[i-]+a[i];
printf("%d\n",h+b[i]);
}
return ;
}
 

最新文章

  1. Animator Controller 继承关系
  2. c#_图表之zeGraph
  3. spring mvc生成注册验证码
  4. cocos2d 3.X Shader 变暗和变灰
  5. Visual Studio图片注释image-comments扩展
  6. js中event.target和event.srcElement的区别
  7. Windows统一平台: 开发小技巧
  8. POJ 2065 SETI (高斯消元 取模)
  9. 新建数据库,然后使用SQL语句创建表、存储过程、用户说明
  10. 数据结构典型算法的VC实现(袁辉勇)
  11. HTML资源(推荐)
  12. Java 之 HTML
  13. 最新的css3动画按钮效果
  14. chrome的断点调试
  15. 重温CSS3
  16. Linux(CentOS7)压缩和解压缩war包、tar包、tar.gz包命令
  17. C#如何拦截 Webbrowser Control的响应内容
  18. 【原创】大数据基础之ORC(1)简介
  19. python基础学习10----集合
  20. MVC的Filter应用小结

热门文章

  1. linux定时跑php脚本,防止重复跑,死循环
  2. vue项目及插件
  3. SVG 动态添加元素与事件
  4. 2019.7.29 NOIP模拟测试10 反思总结【T2补全】
  5. 洛谷P1003 [NOIP2011提高组Day1T1]铺地毯
  6. js 正则去除html代码
  7. set的基本使用
  8. Faster RCNN算法demo代码解析
  9. 【JZOJ3299】【SDOI2013】保护出题人 三分+凸壳
  10. Docker的asp.net core应用部署系列——docker pull 加速