当前位置: 首页 > article >正文

前缀和、差分

前缀和

前缀和是指某序列的前n项和,可以把它理解为数学上的数列的前n项和

一维

定义一个sum[]数组,sum[i]代表a数组中前i个数的和。

const int N = 1e5 + 10;
int sum[N], a[N]; //sum[i]=a[1]+a[2]+a[3].....a[i];
for(int i = 1;i <= n; i++)
{ 
    sum[i] = sum[i - 1] + a[i];   
}

二维

转移方程

s[i][j] = s[i - 1][j] + s[i][j - 1 ] + a[i] [j] - s[i - 1][j - 1]

双层for循环执行转移方程即可

差分

好课:【C++算法基础】#9前缀和与差分 图解ACM竞赛算法_哔哩哔哩_bilibili

一维

diff就是差分数组的表现形式

因为差分数组只能先修改完毕,再求出原数组的修改结果,而后构造前缀和,通过前缀和进行查询。所以叫“离线”,即:不能变修改边访问

修改

实现

输入一个n,代表接下来要输入的数据个数,

而后输入一组数据,

随后输入一个区间和一个x,要将这个区间的每个元素+x

最后输入几组两个数,代表需要输出的区间


http://www.kler.cn/a/612510.html

相关文章:

  • C语言--文件操作教案
  • Mybatis缓存模块分析-源码
  • C# SerialPort 类中清空缓存区的方法
  • 如何使用腾讯云HAI快速、高质量生成Stable Diffusion图片
  • vmwaretools解压失败|vmware tools distrib cannot mkdir read only file system|bug汇总
  • 2025年渗透测试面试题总结-某奇安信-Ateam(题目+回答)
  • Oracle初识:登录方法、导入dmp文件
  • Qt弹出新窗口并关闭(一个按钮)
  • JVM 概述/结构/架构/生命周期
  • 短信验证码安全需求设计
  • C语言 【实现电脑关机小游戏】非常好玩
  • 【Zookeeper搭建】Zookeeper分布式集群搭建完整指南
  • git中feature跟hotfix是什么意思
  • Python定时任务的高效实现:精准触发mutoubar()方法
  • Golang Beego SQL链式查询(包含Join关联)
  • 使用 Docker 18 安装 Eureka:解决新版本 Docker 不支持的问题
  • 【漫话机器学习系列】159.单位阶跃激活函数(Unit-Step Activation Function)
  • UE学习记录part9
  • FALL靶场通关攻略
  • AutoDev 2.0 正式发布:智能体 x 开源生态,AI 自动开发新标杆