把一个数组可以改写成前缀和数组和差分数组,其中的数据可以得到保存。
差分具体是个什么东西?
给你一个序列a,设一个序列s为a序列中相邻两个数的差,即s(i)=a(i)−a(i−1)。特别的,未赋值的a(0)为0。
我们发现,这样一个数就可以用前面所有的差的和来表示,即a(i) = a(i)−a(i−1)+a(i−1)−a(i−2)+…+a(1)−a(0) = s(i)+s(i−1)+…+s(1)
这就是差的前缀和。
如数组
把一个数组可以改写成前缀和数组和差分数组,其中的数据可以得到保存。
差分具体是个什么东西?
给你一个序列a,设一个序列s为a序列中相邻两个数的差,即s(i)=a(i)−a(i−1)。特别的,未赋值的a(0)为0。
我们发现,这样一个数就可以用前面所有的差的和来表示,即a(i) = a(i)−a(i−1)+a(i−1)−a(i−2)+…+a(1)−a(0) = s(i)+s(i−1)+…+s(1)
这就是差的前缀和。
如数组