差分数列定义:
对于已知有n个元素的数列{d},建立记录它每项与前一项差值的差分数列f:f[1]=d[1]-0=d[1];对于整数i∈[2,n],我们让f[i]=d[i]-d[i-1]。
例如数列{d}:
3,1,4,3,5,7,8
他的差分数列{f}是:
3,-2, 3, -1 ,2 ,2, 1
对上面的差分数列求出前缀和数列{sum}:
3,1,4,3,5,7,8
我们得出一个结论1:差分数列的前缀和数列就是原数列,所以某些情况下,可以用差分数列代表原数列。
当数列{d}的[3,6]区间都增加2后,修改后的{dd}数列是:
3,1,6,5,7,9,8
{dd}数列照比数列{d}修改了4个位置,分别是3-6。修改时间效率是o(n)。
{dd}数列对应的差分数列{ff}是:
3,-2,5,-1,2,2,-1
仔细观察{ff}数列和{f}数列的差别:修改了两个位置,其中第3个数增加