一维差分基础

Posted wsy107316

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一维差分基础相关的知识,希望对你有一定的参考价值。

一维差分:(博客图片来源:here

设有一个序列(a_{1},a_{2},a_{3},cdots ,a_{4})

我们定义一个新的序列:

[left{egin{matrix}
b_{i}=a_{i} & i=1\\
b_{i}=a_{i}-a_{i-1}& i eq 1
end{matrix} ight.]

(b)数组就是(a)数组的差分数组

技术图片

(ps:)差分的前缀和是原序列

差分应用一:

当我们要在某个区间(left [ l,r ight ])的所有值都加上一个数(x)时:我们只需要在差分数组中进行一加一减即可:(b_{l}+x,b_{r+1}-x)

技术图片

 

 

 查分应用二:快速求前缀和

(设sum_{x}为以第x个数为结尾的前缀和,s_{i}为原数组,b_{i}为差分数组)

技术图片

 

以上是关于一维差分基础的主要内容,如果未能解决你的问题,请参考以下文章

差分与前缀和 Extra

一维差分和二维差分

matlab差分基础问题?!

蓝桥杯必看 手撕模板三分钟带你上手算法模板(例题 + 套路总结) --> 差分

浅析树状数组

算法基础| 差分算法及模板详解