前缀和定义
前缀和是一种常用的数组预处理技巧,用于快速计算数组中任意区间的和。
给定一个数组 A,则数组A的前缀和数组S的定义为:
S[0] = 0
S[i] = A[0] + A[1] + ... + A[i-1] (即前 `i` 个元素的和)
作用
通过前缀和,可以在 O (1) 时间 内计算任意区间 [i, j] 的和。
例如计算数组A中[3:7]区间的和:S[7]-S[3]
解释:
S[7]-S[3] = A[1]+A[2]+A[3]+A[4]+A[5]+A[6]+A[7] - A[1]+A[2]+A[3]
= A[4]+A[5]+A[6]+A[7]