一维差分基础

一维差分:(博客图片来源: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}为差分数组)

原文地址:https://www.cnblogs.com/wsy107316/p/13368607.html