news 2026/4/16 16:03:41

前缀和+差分

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
前缀和+差分

前提提要:这两种算法都不用背,重点是理解,等题目需要时,自己画图解决!

注意不管是前缀和还是差分 我们一定要数组下标从1开始!

前缀和(分成一维和二维)

作用:求一段序列的和

一维前缀和:

题目原先数组a[N];

创建一个数组发前缀和数组f[N],利用for循环+递归 f[i]=f[i-1]+a[i];

假如题目要我们求[L,R]之间的和,我们可以用 sum=f[R]-f[L-1];

二位前缀和:

题目原先数组a[N][N];

第一步预处理:f[i][j]=f[i-1][j]+f[i][j-1]-f[i-1][j-1]+a[i-1][j-1];

第二步求[x1,y1]到[x2,y2]之间的前缀和,即sum=f[x2][y2]-f[x2][y1-1]-f[x1-1][y2]+f[x1-1][y1-1];

差分(分一维和二维)

作用:对一段序列进行加x

一维差分:

有两种常用表达形式:

第一种:题目原先数组a[N],创建差分数组f[N],我们可以for循环 f[i]=a[i]-a[i-1];

对于题目要求改变的序列[L,R],我们f[L]+=x,f[R-1]-=x;

然后还原原先序列 for循环 a[i]=a[i-1]+f[i] 输出即可得到新序列

第二种:根据性质来创建差分序列

for循环 我们直接输入一个t 再加上这两个表达式 f[i]+=t,f[i+1]-=t;

对于题目要求改变的序列[L,R],我们f[L]+=x,f[R-1]-=x;

然后还原原先序列 for循环+前缀和还原 f[i]+=f[i-1];

一边常用第二种 因为可以少创建一个数组

二维差分:

我们对于[x1,y1]到[x2,y2]这个区间同时加x;

说明insert函数:f[x1][y1]+=x,f[x1][y2+1]-=x,f[x2+1][y1]-=x,f[x2+1][y2+1]+=x;

第一步:预处理 依次对二维数组cin>>t 我们就可以两个for循环 insert(i,j,i,j,t)

第二步:改变 insert(x1,y1,x2,y2,x);

第三步还原:用前缀和 sum=f[x2][y2]-f[x2][y1-1]-f[x1-1][y2]+f[x1-1][y1-1];

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 9:04:18

Spring Boot一课一得:在“约定”中解锁高效开发

对于spring boot ,我只接触了一个学期,没有太大的了解,作为刚接触Java开发框架的新手,在学Spring Boot前,我对传统Spring项目的配置简直“谈虎色变”。记得第一次尝试搭建简单的Web项目,光是查资料引入Spri…

作者头像 李华
网站建设 2026/4/16 1:10:38

【数据库】【MySQL】分库分表策略 分类、优势与短板

分库分表是解决海量数据和高并发场景的核心手段,主要分为 垂直拆分 和 水平拆分 两大方向,每种方向又可分为库级和表级。以下从分法定义、示例、优势、短板、适用场景五个维度进行解析 一、垂直分库(Vertical Sharding) 定义 按业…

作者头像 李华
网站建设 2026/4/16 9:02:24

【生产环境必备】:构建自愈系统的Docker Compose健康检查策略

第一章:Agent服务健康检查的核心价值在分布式系统与微服务架构广泛应用的今天,Agent作为连接节点监控、日志采集和配置管理的关键组件,其运行稳定性直接影响整体系统的可观测性与可靠性。健康检查机制是保障Agent持续可用的核心手段&#xff…

作者头像 李华
网站建设 2026/4/16 9:04:43

整流桥从基础到选型

一、整流桥是什么?整流桥(桥式整流器)是一种集成 4 个二极管的硅整流元件,核心作用是将交流电(AC)转换为直流电(DC),是电源、电机驱动等场景中 “交转直” 的核心器件。二…

作者头像 李华
网站建设 2026/4/15 22:19:14

LLaMA-Factory在WSL上安装vllm并测速

在 WSL 上为 LLaMA-Factory 集成 vLLM:实战部署与性能实测 在本地跑大模型推理,谁不想又快又稳?尤其是当你用 LLaMA-Factory 微调完一个 Qwen 或 Llama 模型,准备上手测试时,原生 HuggingFace pipeline 动不动几百毫秒…

作者头像 李华