我们计算一维前缀和时的得心应手,但是到二维前缀和就有点力不从心了,这里总结了一下规律:
计算二维前缀和时我喜欢从下标为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];
也可以用这样的公式表示出来;
这道题的难点就在于求二维数组的前缀和,不过看了这篇博客,相信也解决了这个问题;