算法笔记-差分和前缀和

差分
就是将数列中的每一项分别与前一项数做差,例如:

一个序列1 2 5 4 7 3,差分后得到1 1 3 -1 3 -4 -3

差分求前缀和=原序列

将原序列区间[L,R]中的元素全部+1,可以转化操作为差分序列L处+1,R+1处-1

二维情况可视作多个一维;

for(int i=1;i<=m;i++){cin>>x1>>y1>>x2>>y2;for(int j=x1;j<=x2;j++){a[j][y1]+=1;a[j][y2+1]-=1;}}

前缀和
一维前缀和:每一项+=前一项

二维前缀和:点(i,j)到原点这个矩阵所有元素的和;

二维前缀和的求法 : f[i][j]=f[i−1][j]+f[i][j−1]−f[i−1][j−1]+a[i][j];

求子矩阵的前缀和;

for(register int i = 1;i <= k;++ i){int x1,x2,y1,y2;//x1,y1是左上角的坐标,另一对是右下角的坐标 cin >> x1 >> y1 >> x2 >> y2;cout << f[x2][y2] - f[x1 - 1][y2] - f[x2][y1 - 1] + f[x1 - 1][y1 - 1]; }

算法笔记-差分和前缀和相关推荐

  1. 蓝桥杯python省赛冲刺篇2——常用算法的详细解析及对应蓝桥杯真题:打表模拟法、递推递归法、枚举法、贪心算法、差分与前缀和

    注意:加了题目链接 目录 注意:加了题目链接 一.打表模拟法 介绍 1. 算式问题 题目描述 解析与代码演示 2. 求值 题目描述 解析与代码演示 3. 既约分数 题目描述 解析与代码演示 4. 天干 ...

  2. 【算法】差分与前缀和 算法详解+例题剖析

    目录 一.前缀和 二. 差分思想 1.静态数组的区间求和问题 2.静态维护区间加等差数列的求和问题 三.二维前缀和 二维前缀和例题P2280 [HNOI2003]激光炸弹 四.例题 例题一:差分+前缀 ...

  3. 算法笔记(六):差分法

    (6)差分法 目录 一.差分 1.介绍 2.定义 3.差分与前缀和 二.一维差分 1.定义 2.作用 3.方法 接下来是实战演练!!! 三.二维差分 1.定义 2.作用 3.方法 接下来是实战演练!! ...

  4. 《算法笔记》中文版 - 包括数组,链表,树,图,递归,DP,有序表等相关数据结构与算法的讲解及代码实现...

    来源:专知本文为资源,建议阅读5分钟本文为你分享<算法笔记>中文版. https://github.com/Dairongpeng/algorithm-note 目录概览 第一节 复杂度. ...

  5. 数据结构与算法笔记(青岛大学王卓老师视频)

    写在前面的话: 因为在学习数据结构之前,学习过一年的算法,所以有一些基础,一些我觉得 没必要的代码或知识就没写上,记得多是一些知识点,写的可能对于别人来说 很难接受,望谅解.我学习算法是在Acwing ...

  6. 算法笔记——数学相关

    算法笔记--数学相关 高精度 乘法逆元 排列组合 二项式定理 质数的判定和应用 约数 拓展欧几里得 大步小步算法(BSGS) 拓展大步小步算法 快速乘和快速幂 矩阵相关 欧拉函数 欧拉定理及费马小定理 ...

  7. 【算法笔记】极客时间 算法面试通关40讲 笔记  覃超

    [算法笔记]极客时间 算法面试通关40讲 覃超 [算法笔记]极客时间 算法面试通关40讲 覃超 相关链接 在leetcode 上的题号 数组.链表: (堆)栈stack.队列queue 优先队列 哈希 ...

  8. 算法笔记知识点整理大全

    每次刷题都觉得自己吃了知识点不全,基础不牢固的亏,刷题的时候目标也不明确,于是看完了算法笔记并把知识点归纳了一下,当然直接看书会更加详细,这个归纳只是学习时加深印象以及方便自己之后回顾而已:之后刷题大 ...

  9. 算法笔记CodeUp第一至第六章刷题记录

    文章目录 <算法笔记>2.2小节--C/C++快速入门->顺序结构 1.例题1-1-1 按要求输出信息(1) 2.例题1-1-2 按要求输出信息(2) 3.例题1-2-1 求两个整数 ...

  10. 算法笔记学习PAT甲级解题记录

    算法笔记学习记录 2019.06.26 float&&double 推荐全部使用double,注意区分scanf("%lf",&double1);与prin ...

最新文章

  1. solidworks2018安装教程
  2. Eclipse Neon 配置C/C++开发环境
  3. 每天shell 之split
  4. 技术 KPI 的量化
  5. 笨方法python3_“笨方法”学Python3,习题 34 。
  6. C++一天一个程序(四)
  7. 区块链中密码学与安全技术
  8. vim grep配置及使用
  9. Win10显示此应用无法在你的电脑上运行 此应用无法在你的电脑上运行处理办法
  10. 数据库笔记06:创建并管理数据表
  11. python免费课程400节-Python2 教程
  12. 金笛JDMail邮件服务器帮你应付电子邮件归档危机
  13. 从零实现爬虫和情感分类模型(一)
  14. 如何在ogre游戏界面添加自己的信息,比如显示某变量的值
  15. Python处理 JSON 数据
  16. nginx错误502,503,504分析
  17. 电脑维修常用检修软件技术
  18. Chloe Orm的使用(一)
  19. CSDN日报20170312——《成功人士的七个习惯》
  20. 苹果自带地图进行定位

热门文章

  1. mysql分区唯一索引_[项目踩坑] MySQL 分区:分区键和唯一索引主键的关系,解决报错 A PRIMARY KEY...
  2. call、apply和bind的用法与说明
  3. 温故知新----表单
  4. jmeter使用_Jmeter之Remote Testing使用
  5. OpenCV-图像处理(20、霍夫变换-直线)
  6. mysql5.5.53安装教程_mysql5.5.28安装教程 超详细!
  7. thinkcmf5调用指定分类的二级_Mybatis一二级缓存的使用和实现原理
  8. 微分算法 非侵入式负荷识别_基于差量特征提取与模糊聚类的非侵入式负荷监测方法...
  9. NOWCODER暑期多校第四场F:Beautiful Garden(签到题)题解
  10. mysql的空白值mac,Mac下mysql安装启动遇到的坑,及数据库常用指令