一维差分基础

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

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

我们定义一个新的序列:

\[\left\{\begin{matrix}
b_{i}=a_{i} & i=1\\
b_{i}=a_{i}-a_{i-1}& i\neq 1
\end{matrix}\right.\]

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

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

差分应用一:

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

 

 

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

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

 

posted @ 2020-07-23 21:16  swsyya  阅读(934)  评论(0编辑  收藏  举报

回到顶部