前缀和:
给定数组的各个元素,例如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行)
代码:

作者:鲸住我了王晨
本文介绍了前缀和和差分数组的概念,并详细解释了它们在处理数组元素修改问题中的作用。通过差分数组,可以便捷地实现对数组中指定区间元素的加减操作。同时,文章提供了相应的代码示例,展示了如何利用前缀和和差分数组进行高效计算。

被折叠的 条评论
为什么被折叠?



