ac_796子矩阵的和
题目描述
题目大意&链接
在一个给定的 n 行 m 列矩阵中,查询出子矩阵的和。
输入输出样例:
输入:
3 4 3
1 7 2 4
3 6 2 8
2 1 2 3
1 1 2 2
2 1 3 4
1 3 3 4
输出:
17
27
21
详情:ac_796子矩阵的和
解题思路
子矩阵的和需要注意2点。
- 计算前缀和:
//计算前缀和
res[i][j] = res[i-1][j] + res[i][j-1] - res[i-1][j-1] + arr[i][j]; - 计算矩阵区间和:
//计算矩阵区间和
cout<<res[x2][y2] - res[x1-1][y2] - res[x2][y1-1] + res[x1-1][y1-1]<<endl;
完整代码
|
时间和空间复杂度
时间复杂度:O(n * m + q)
空间复杂度:O(n * m)
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 ZW_Blog!