这题是一道简单的一维前缀和+差分的问题,首先我们了解一下前缀和,比如一个数组

1,2,3,4,5,6;那么它的前缀和数组就是1,3,6,10,15,21;也就是说前缀和数组第n个数是原数组的前n项和,同时原数组也叫这个前缀和数组的差分数组。

如果我们将这个前缀和数组的前5项(共6项)都加上1,变成2,4,7,11,16,21;那它的差分数组就是2,2,3,4,5,5;相当于1,2,3,4,5,6的第1项加1,第6项减1。

所以我们每次让某个数组的第i和第j+1项这两项都加或减去某个数x,再求前缀和便相当于原前缀合数组的第i到第j项加或减去x,当原数组设为0时,便可以用该方法设其为一个变化数组,每次改变彩灯亮度时,只需要原彩灯亮度的数组加上这个变化数组即可。

代码如下:

#include<bits/stdc++.h>
#define int long long //此方法比longlong更省时、空
using namespace std;
const int N = 5e5 + 10;
int a[N]={0}, ans[N]={0};
signed main() //#define int long long ,main函数要改成有符号型 signed main()
{
int n , q ;
cin >> n >> q;
for(int i = 1 ; i <= n ; i ++) cin >> ans[i];
while(q --)
{
int l , r , x;
cin >> l >> r >> x;
a[l] += x , a[r + 1] -= x; //设置变化数组
}
for(int i = 1 ; i <= n ; i ++) //求变化数组的前缀和a[i] += a[i - 1];
for(int i = 1 ; i <= n ; i ++) cout << max(a[i] + ans[i] , 0ll) << " "; //0ll就是常量0
return 0;
}

经典前缀和+差分问题之小明的彩灯(c++)相关推荐

  1. ZZULIOJ 2348: 小明的第一份实习任务(前缀和)

    题目描述 日志系统是分布式系统的重要组成部分,决定着系统的成败.工业界一种比较常见的的日志处解决方案是通过消息队列将系统产生的日志信息异步的存储起来,再通过日志分析服务进行相应的日志分析,常用的消息队 ...

  2. 微软的一道经典逻辑推理题:小明和小强都是张老师的学生,张老师的生日是M月N日

    微软的一道经典逻辑推理题:小明和小强都是张老师的学生,张老师的生日是M月N日 分类: 天下杂侃 2008-08-07 23:37 17495人阅读 评论(21) 收藏 举报 题目是这样的: 小明和小强 ...

  3. 微软的一道经典逻辑推理题 小明和小强都是张老师的学生,张老师的生日是M月N日

    微软的一道经典逻辑推理题:小明和小强都是张老师的学生,张老师的生日是M月N日 分类: 天下杂侃 2008-08-07 23:37 17495人阅读 评论(21)收藏 举报 题目是这样的: 小明和小强都 ...

  4. OSChina 周六乱弹 —— 小明和网关超经典的故事~

    2019独角兽企业重金招聘Python工程师标准>>> 周六,又到了瞎扯淡的时间了.周末,约会,男男女女,还有那啥那啥,你们懂得- 男人和女人明显不同,这样才导致了异性相吸吗? 1. ...

  5. 经典智力题:小明一家人过桥问题

    题目:小明一家过一座桥,过桥时是黑夜,所以必须有灯.现在小明过桥要1秒,小明的弟弟要3秒,小明的爸爸要6秒,小明的妈妈要8秒,小明的爷爷要12秒.每次此桥最多可过两人,而过桥的速度依过桥最慢者而定,而 ...

  6. 微软的一道经典逻辑推理题:小明和小强都是张老师的学生,张老师的生日是M月N日...

    题目是这样的: 小明和小强都是张老师的学生,张老师的生日是M月N日,2人都不知道张老师的生日是下列10组中的一天,张老师把M值告诉了小明,把N值告诉了小强,张老师问他们知道他的生日是那一天吗? 3月4 ...

  7. 尾递归优化原理与Python实现(以Fibonacci数列和小明爬楼梯问题为例)

    首先祝全体屋友中秋节快乐! 众所周知,在函数递归调用时,要保存函数调用的位置以便使得被调函数结束后能够返回正确的位置,这个信息保存在线程栈中.由于栈的空间有限,所以如果函数递归调用深度超过一定限制,会 ...

  8. 前缀和+差分+ 树状数组

    前缀和+差分的理论知识 前缀和相关题: 「USACO16JAN」子共七 Subsequences Summing to Sevens 定理:若两个数相减 mod k == 0,那么这两个数mod k ...

  9. [多项式前缀和差分]智乃酱的静态数组维护问题多项式

    [多项式前缀和差分]智乃酱的静态数组维护问题多项式 题目 思路 参考资料 基本定理是:最高次为n次的多项式最多做n+1阶差分 最板的题目是,区间加一个常数,我们一般对a数组做一次差分然后在a[l]和a ...

最新文章

  1. LeetCode简单题之完成一半题目
  2. 2018-3-18 中国计算机之母-- 夏培肃
  3. 服务器系统的王者——Linux 系统
  4. arm qt5 iconv 问题
  5. Qt|C++-最简单的OpenGL(变颜色的三角形)
  6. python向量化编程技巧_Python学习(六)向量化
  7. ghost还原固态硬盘_固态硬盘如何做系统盘
  8. Emmet 快速编写html代码
  9. Linux性能及调优指南(翻译)
  10. eclipse关闭mysql数据库_Eclipse 连接 Mysql 数据库操作总结
  11. 【Web技术】771- 图片懒加载从简单到复杂
  12. U盘被写保护无法格式化的解决方法
  13. haproxy配置timeout
  14. java ocr数字识别_使用Tesseract Ocr识别数字
  15. matlab怎么把音频变成信号_利用MATLAB软件对音频信号进行频谱分析及处理.doc
  16. mtk开发世界时区客制化
  17. Windows-端口状态含义
  18. 讲解零件生产工艺过程基本知识
  19. mysql公有库和私有库_带有公有和私有子网的 VPC (NAT) - Amazon Virtual Private Cloud
  20. python获取Agilent 33461A数字万用表读数

热门文章

  1. 安装ST LINK驱动后显示成功,但无法识别问题的解决办法之一
  2. web漏洞之文件上传漏洞
  3. 进程调度算法——C++实现 [ FCFS,SJF,HPR,HRN + 开源代码 + 详细解析 ]
  4. 计算机无法检索文件夹,win7系统不能搜索文件夹怎么回事
  5. 【毕业设计源码】基于微信小程序的查寝系统的设计与实现
  6. 移动IM开源框架对比
  7. 香港汇丰银行开户需要提供什么资料
  8. 信息系统综合测试与管理
  9. buuctf web入门]常见的搜集
  10. 深圳随手记(随手科技)面经(offer)