Acwing796.子矩阵的和

理解二维前缀和:

cpp 复制代码
#include <iostream>

using namespace std;

const int N = 1010;

int a[N][N], s[N][N];

int main() {
    int n, m, q;
    cin >> n >> m >> q;

    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= m; j++) {
            scanf("%d", &a[i][j]);
            s[i][j] = s[i][j - 1] + s[i - 1][j] - s[i - 1][j - 1] + a[i][j]; // 求前缀和
        }

    while (q--) {
        int x1,y1,x2,y2;
        scanf("%d%d%d%d", &x1, &y1, &x2, &y2);
        // 算子矩阵的和
        printf("%d\n", s[x2][y2] - s[x2][y1 - 1] - s[x1 - 1][y2] + s[x1 - 1][y1 - 1]);
    }

    return 0;
}
相关推荐
im_AMBER6 分钟前
Leetcode 111 两数相加
javascript·笔记·学习·算法·leetcode
TracyCoder1239 分钟前
LeetCode Hot100(21/100)——234. 回文链表
算法·leetcode·链表
txinyu的博客14 分钟前
解析muduo源码之 Socket.h & Socket.cc
c++
可涵不会debug18 分钟前
Redis魔法学院——第四课:哈希(Hash)深度解析:Field-Value 层级结构、原子性操作与内部编码优化
数据库·redis·算法·缓存·哈希算法
阿猿收手吧!20 分钟前
【C++】模板偏特化与std::move深度解析
服务器·c++
@––––––21 分钟前
力扣hot100—系列1
算法·leetcode·职场和发展
老鼠只爱大米26 分钟前
LeetCode经典算法面试题 #236:二叉树的最近公共祖先(RMQ转化、Tarjan离线算法等五种实现方案详细解析)
算法·leetcode·二叉树·lca·并查集·最近公共祖先·rmq
问好眼27 分钟前
【信息学奥赛一本通】1296:开餐馆
c++·算法·动态规划·信息学奥赛
yxm263366908132 分钟前
【洛谷压缩技术续集题解】
java·开发语言·算法
Qt学视觉36 分钟前
3D3-PCL全面总结
c++·opencv·3d