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;
}
相关推荐
点PY几秒前
C++ 中 std::async 和 std::future 的并发性
java·开发语言·c++
执笔论英雄3 分钟前
【RL】DAPO 数据处理
算法
不会代码的小猴8 分钟前
C++的第九天笔记
开发语言·c++·笔记
why1511 小时前
面经整理——算法
java·数据结构·算法
悦悦子a啊1 小时前
将学生管理系统改造为C/S模式 - 开发过程报告
java·开发语言·算法
痕忆丶1 小时前
双线性插值缩放算法详解
算法
fqbqrr1 小时前
2512C++,clangd支持模块
开发语言·c++
_codemonster2 小时前
深度学习实战(基于pytroch)系列(四十八)AdaGrad优化算法
人工智能·深度学习·算法
老王熬夜敲代码2 小时前
C++中的thread
c++·笔记·面试
鹿角片ljp3 小时前
力扣140.快慢指针法求解链表倒数第K个节点
算法·leetcode·链表