浅谈二维前缀和
首先要了解一个叫做前缀和的东西。
二维前缀和其实就是将普通前缀和加了一维。
也就是可以求一个矩阵内任意子矩阵元素和。
仿照一维前缀和,转移方程如下:
\[sum_{i,j}=sum_{i-1,j}+sum_{i,j-1}-sum_{i-1,j-1}+a_{i,j}
\]
这个转移方程嘛,主要是先通过容斥原理求出前面的和,然后再加上本身的和。
这样我们求一个左上角坐标为 \(x_1,y_1\),右下角坐标为 \(x_2,y_2\) 的坐标中子矩阵和就可以 \(\mathcal O(1)\) 查询了,很容易得知查询 \(sum_{x2,y2}-sum_{x1-1,y2}-sum_{x2,y1-1}+sum_{x1-1,y1-1}\) 即可。
具体原理也是容斥原理qaq。
二维前缀和和前缀和一样用就好啦。
以下是博客签名,正文无关
本文来自博客园,作者:Jijidawang,转载请注明原文链接:https://www.cnblogs.com/CDOI-24374/p/12853989.html
版权声明:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议(CC BY-NC-SA 4.0)进行许可。看完如果觉得有用请点个赞吧 QwQ