第7课:前缀和与差分

潘CSP200八点班

2023-07-10 7:01:57
2023-07-18 20:01:57

信息与公告

前缀和算法

用途:用于频繁计算区间和。
总体思路:先把每个元素的前缀和计算出来,然后每个区间和可以通过两个和之差求得
前缀和计算: b[i] = b[i-1] + a[i]
区间和计算: [l,r]区间和  = b[r] - b[l-1]

差分算法

用途:频繁修改任意区间的值。
总体思路:首先将原数组a转换为差分数组b。对差分数组b的区间两端进行加减操作。对差分数组b,进行前缀和操作,得到修改后的原数组a。
差分计算:b[i] = a[i] -a[i-1];
对差分数组区间进行加减操作:b[l] + c; b[r+1] – c; 
转换到原数组:a[i] = a[i-1] +b[i];