二维前缀和

简介: 二维前缀和

我们计算一维前缀和时的得心应手,但是到二维前缀和就有点力不从心了,这里总结了一下规律:

计算二维前缀和时我喜欢从下标为1的时候开始:



    per[i][j]=per[i][j-1]+per[i-1][j]-per[i-1][j-1]+a[i][j];


i表示行,j表示列,i和j从1开始;

这样就可以计算出下标为[i][j]的二维矩阵的前缀和了;

我们来看一下这道题:

【模板】二维前缀和_牛客题霸_牛客网



有了上面的方法,我们可以计算出前缀和,那么怎么计算查询结果呢?

当我们看图仔细分析一下,不难发现:



 per[x2][y2]-per[x2][y1-1]-per[x1-1][y2]+per[x1-1][y1-1];


也可以用这样的公式表示出来;

这道题的难点就在于求二维数组的前缀和,不过看了这篇博客,相信也解决了这个问题;

相关文章
|
3月前
|
算法
【算法】前缀和——二维前缀和模板题
【算法】前缀和——二维前缀和模板题
|
3月前
|
算法
【算法】前缀和——除自身以外数组的乘积
【算法】前缀和——除自身以外数组的乘积
|
5月前
|
存储
不会吧,不会吧,还在直接写二维数组?康康我一维变二维
不会吧,不会吧,还在直接写二维数组?康康我一维变二维
|
6月前
|
存储 人工智能 算法
二维差分与二维前缀和
二维差分与二维前缀和
61 3
|
6月前
【模板】二维前缀和
【模板】二维前缀和
20 2
|
6月前
|
机器学习/深度学习 存储 人工智能
利用前缀和计算二维矩阵子矩阵的和
利用前缀和计算二维矩阵子矩阵的和
66 0
|
6月前
|
C++ 容器
[C++] 对二维数组中的二维坐标点x,y进行排序
[C++] 对二维数组中的二维坐标点x,y进行排序
191 0
|
算法 测试技术 C#
C++前缀和算法:构造乘积矩阵
C++前缀和算法:构造乘积矩阵
|
人工智能 算法
动态规划之区间一维
噩梦中的仙境:动态规划之区间一维
67 0
动态规划之区间一维
|
人工智能 vr&ar
一维 二维求前缀和、差分
一维 二维求前缀和、差分
53 0