zoukankan      html  css  js  c++  java
  • 矩阵求和

    矩阵求和

    难度级别:A; 编程语言:不限;运行时间限制:3000ms; 运行空间限制:256000KB; 代码长度限制:2000000B

    试题描述

    矩阵求和

    输入

    第一行n和m,表示行数和列数
    接下来n行表示矩阵
    再来一行一个整数q,表示询问个数
    接下来q行,每行四个整数x1,y1,x2,y2表示左上右下的坐标

    输出

    对于每个询问输出一个整数表示该矩阵范围内的整数和

    输入示例

    5 5
    1 2 5 4 1
    1 1 7 6 8
    8 7 9 5 2
    4 4 4 1 8
    5 10 11 13 7
    3
    2 1 4 3
    2 2 5 5
    4 1 5 4
    

    输出示例

    45
    103
    52
    

    其他说明

    n,m < 2001
    q < 100001
    矩阵内所有数小于2000
    

    解题思路

    因为会存在若干条query,所以应该在矩阵输入的时候便进行预处理。之后利用递推关系求解。

    解题代码

    #include <cstdio>
    #include <iostream>
    using namespace std;
    
    long long N, M, e, query, x1, y1, x2, y2, ans, sum[2005][2005] = {0};
    
    int main() {
        while (cin >> N >> M) {
            for (int i = 1; i <= N; ++i) {
                for (int j = 1; j <= M; ++j) {
                    cin >> e;
                    sum[i][j] = sum[i][j-1] + sum[i-1][j] - sum[i-1][j-1] + e;
                }
            }
            cin >> query;
            while (query--) {
                cin >> x1 >> y1 >> x2 >> y2;
                ans = sum[x2][y2] - sum[x2][y1-1] - sum[x1-1][y2] + sum[x1-1][y1-1];
                cout << ans << endl;
            }
        }
        return 0;
    }
    
  • 相关阅读:
    带你剖析WebGis的世界奥秘----点和线的世界
    XML解析
    Java-工厂设计模式
    分享:软件包和文档
    启航,新开始
    docker容器网络通信原理分析(转)
    【好书分享】容器网络到kubernetes网络
    go语言接受者的选取
    go语言的unsafe包(转)
    protocol buffers生成go代码原理
  • 原文地址:https://www.cnblogs.com/yinzm/p/8607471.html
Copyright © 2011-2022 走看看