还是先从例题引入,给你一个二维平面,要求在$\Theta(1)$的时间复杂度内求出一个矩形内数的和。
显然,对于极端情况,二维平面退化成一维,那么我么可以用前缀和数组轻松解决,放在二维平面有该怎么办呢?
我们就要进入一个新的名词:二维前缀和。
何谓二位前缀和?
我们可以感性的将其理解为建立在二维平面上的前缀和,如下图:
红色区域所有数的和即为二维前缀和中点$(i,j)$的值。
如何预处理?
类比一维前缀和,我们可以在$\Theta(n)$的时间复杂度下预处理,那么对于二维前缀和,我们怎么预处理呢?
原文:https://www.cnblogs.com/wzc521/p/11461640.html