二 维 前 缀 和 \color{green}{二维前缀和} 二维前缀和
二维前缀和,就是前缀和算法的二维形式,其基本思想与前缀和算法类似。
我们记 s u m i , j sum_{i,j} sumi,j表示二维数组 a i , j a_{i,j} ai,j的二维前缀和,则 s u m i , j = sum_{i,j}= sumi,j=
∑ i = 1 N ∑ j = 1 M a i , j \sum\limits_{i=1}^{N} \sum\limits_{j=1}^{M}a_{i,j} i=1∑Nj=1∑Mai,j
让我们考虑如何在 O ( N × M ) O(N \times M) O(N×M)的时间复杂度内求出 s u m sum sum数组。
如图, s u m i , j = a i , j + s u m i , j − 1 + s u m i − 1 , j − s u m i − 1 , j − 1 sum_{i,j}=a_{i,j}+sum_{i,j-1}+sum_{i-1,j}-sum_{i-1,j-1} sumi,j=a