前缀和:
给定数组的各个元素,例如a[1],a[2],a[3],a[4]
那么前缀和数组s[1]=a[1],s[2]=a[1]+a[2],s3=a[1]+a[2]+a[3],...
(这里下标从1开始更加我们直觉)
代码:
差分:
给定数组的各个元素,例如a[1],a[2],a[3],a[4]
那么差分数组b[1]=a[1]-a[0](a[0]默认为0),b[2]=a[2]-a[1],...b[i]=a[i]-a[i-1].
当b[i]+5时,a[i]开始往后的元素全部+5,可以推导出来的
但我们想使a[l]----a[r]的数据+5其余不变
我们可以b[l]+=5,,从l开始全部+5
然后b[r+1]-=5,从指定的r之后的元素-5和之前的+5抵消
a[i]同时相当于b[i]数组的前缀和
b[i]=a[i]-a[i-1]可以推出a[i]=a[i-1]+b[i].
所以求修改后的a[i],直接和前缀和一样写(176-177行)
代码:
作者:鲸住我了王晨