题解 | 【模板】二维前缀和

【模板】二维前缀和

https://www.nowcoder.com/practice/99eb8040d116414ea3296467ce81cbbc

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
	  //1.处理输入
		Scanner scanner=new Scanner(System.in);
		int n=scanner.nextInt(),m=scanner.nextInt(),q=scanner.nextInt();
		long[][] arr=new long[n+1][m+1];
		for (int i = 1; i <n+1; i++) {
			for (int j = 1; j <m+1; j++) {
				arr[i][j]=scanner.nextLong();
			}
		}
		//2.创建dp数组表示前缀和矩阵
		long[][] dp=new long[n+1][m+1];
		for (int i = 1; i <n+1; i++) {
			for(int j=1;j<m+1;j++) {
				dp[i][j]=dp[i-1][j]+dp[i][j-1]+arr[i][j]-dp[i-1][j-1];
			}
		}
		//3.使用前缀和矩阵来求和
		while(q>0) {
			int x1=scanner.nextInt(),y1=scanner.nextInt(),x2=scanner.nextInt(),y2=scanner.nextInt();
		System.out.println(dp[x2][y2]-dp[x1-1][y2]-dp[x2][y1-1]+dp[x1-1][y1-1]);
			q--;
		}
		scanner.close();
	}
    }

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-02 18:35
简历上把1个月实习写成了3个月,会进行背调吗?
码农索隆:一个月有一个月的实习经历,三个月有三个月的实习经历
点赞 评论 收藏
分享
06-23 11:28
门头沟学院 Java
牛客91966197...:也有可能是点拒绝的时候自动弹的话术
点赞 评论 收藏
分享
一tiao酸菜鱼:秋招还没正式开始呢,就准备有结果了。。。。?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务