AcWing 796. 子矩阵的和

解题思路

样例

1 7 2 4

3 6 2 8

2 1 2 3
求任意子矩阵的和

二维前缀和公式

相关代码

复制代码
import java.util.Scanner;

public class Main {


    public static void main(String[] args){
        //二维子矩阵的元素和
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int m = scanner.nextInt();
        int q = scanner.nextInt();
        int a[][] = new int[n+1][m+1];
        for(int i=1;i<=n;i++)
            for(int j=1;j<=m;j++)
                a[i][j] = scanner.nextInt();

        //进行前缀和预处理
        int s[][] = new int[n+1][m+1];
        for(int i=1;i<=n;i++)
            for(int j=1;j<=m;j++)
                s[i][j]=s[i][j-1]+s[i-1][j]-s[i-1][j-1]+a[i][j];


        while(q-->0){
            int x1 = scanner.nextInt();
            int y1 = scanner.nextInt();
            int x2 = scanner.nextInt();
            int y2 = scanner.nextInt();
            System.out.println(s[x2][y2]-s[x2][y1-1]-s[x1-1][y2]+s[x1-1][y1-1]);
        }
    }
}
相关推荐
源代码•宸6 分钟前
Leetcode—2749. 得到整数零需要执行的最少操作数【中等】(__builtin_popcountl)
c++·经验分享·算法·leetcode·位运算
用户4822137167757 分钟前
深度学习——AlexNet网络结构
算法
张子夜 iiii1 小时前
传统神经网络实现-----手写数字识别(MNIST)项目
人工智能·pytorch·python·深度学习·算法
lingggggaaaa1 小时前
小迪安全v2023学习笔记(七十八讲)—— 数据库安全&Redis&CouchDB&H2database&未授权&CVE
redis·笔记·学习·算法·安全·网络安全·couchdb
pusue_the_sun2 小时前
C语言强化训练(12)
c语言·开发语言·算法
小欣加油2 小时前
leetcode 6 Z字形变化
c++·算法·leetcode·职场和发展
youzjuer2 小时前
算法之二叉树
算法·深度优先
2401_858869802 小时前
支持向量机
算法·机器学习·支持向量机
用户4822137167752 小时前
深度学习——卷积神经网络
算法