【Java每日一题,前缀和】天上的星星

简介: 【Java每日一题,前缀和】天上的星星

Description

在一个星光摧残的夜晚,蒜头君一颗一颗的数这天上的星星。

蒜头君给在天上巧妙的画了一个直角坐标系,让所有的星星都分布在第一象。天上有 nn 颗星星,他能知道每一颗星星的坐标和亮度。

现在,蒜头君问自己 qq 次,每次他问自己每个矩形区域的星星的亮度和是多少(包含边界上的星星)。



package week2;
import java.util.Scanner;
/**
 * @author liangyuanshao
 * @date 2022/4/30 - 14:49
 */
public class Main {
  public static void main(String[] args) {
    Scanner s=new Scanner(System.in);
    int[][] arr=new int[2002][2002];
    int n=s.nextInt();
    for(int i=0;i<n;i++){
      arr[s.nextInt()+1][s.nextInt()+1]+=s.nextInt();
    }
    for(int i=1;i<=2001;i++){
      for(int j=1;j<=2001;j++){
        arr[i][j]=arr[i][j]+arr[i-1][j]+arr[i][j-1]-arr[i-1][j-1];
      }
    }
    int k=s.nextInt();
    while (k--!=0){
      int x1=s.nextInt(),y1=s.nextInt(),x2=s.nextInt(),y2=s.nextInt();
      System.out.println(arr[x2+1][y2+1]-arr[x2+1][y1]-arr[x1][y2+1]+arr[x1][y1]);
    }
  }
}

Experience

数据量少,直接构造长度2002的数组是我没想到的。下次注意输入样例的范围。

这是一道典型的前缀和题目。

相关文章
【Java每日一题,前缀和】csp202203-2 出行计划
【Java每日一题,前缀和】csp202203-2 出行计划
|
Java 测试技术
poj3061尺取法/前缀和 二分(java)
今天遇到这题因为以前没见到过,当时就是想着应该有着一个很简单的方法可以过但是奈何就是没思路。后来看了别人思路写了下来。学习了尺取法
110 0
|
人工智能 算法 Java
多解法综合题:「动态规划」&「前缀和 二分」&「双指针」| Java 刷题打卡
多解法综合题:「动态规划」&「前缀和 二分」&「双指针」| Java 刷题打卡
|
Java 索引 Python
啥是前缀和呀?图解前缀和(含模板)| Java 刷题打卡
啥是前缀和呀?图解前缀和(含模板)| Java 刷题打卡
下次如何在 30 秒内做出来?二维前缀和模板如何记忆 | Java 刷题打卡
下次如何在 30 秒内做出来?二维前缀和模板如何记忆 | Java 刷题打卡
综合笔试题:一道结合了「Top K + 前缀和」的数学题|Java 刷题打卡
综合笔试题:一道结合了「Top K + 前缀和」的数学题|Java 刷题打卡
前缀和求解「任意子数组和的绝对值的最大值」问题|Java 刷题打卡
前缀和求解「任意子数组和的绝对值的最大值」问题|Java 刷题打卡
经典「前缀和」应用题,以及两大空间优化点|Java 刷题打卡
经典「前缀和」应用题,以及两大空间优化点|Java 刷题打卡
|
2天前
|
Java 程序员 开发者
Java社招面试题:一个线程运行时发生异常会怎样?
大家好,我是小米。今天分享一个经典的 Java 面试题:线程运行时发生异常,程序会怎样处理?此问题考察 Java 线程和异常处理机制的理解。线程发生异常,默认会导致线程终止,但可以通过 try-catch 捕获并处理,避免影响其他线程。未捕获的异常可通过 Thread.UncaughtExceptionHandler 处理。线程池中的异常会被自动处理,不影响任务执行。希望这篇文章能帮助你深入理解 Java 线程异常处理机制,为面试做好准备。如果你觉得有帮助,欢迎收藏、转发!
33 14
|
5天前
|
安全 Java 程序员
Java 面试必问!线程构造方法和静态块的执行线程到底是谁?
大家好,我是小米。今天聊聊Java多线程面试题:线程类的构造方法和静态块是由哪个线程调用的?构造方法由创建线程实例的主线程调用,静态块在类加载时由主线程调用。理解这些细节有助于掌握Java多线程机制。下期再见! 简介: 本文通过一个常见的Java多线程面试题,详细讲解了线程类的构造方法和静态块是由哪个线程调用的。构造方法由创建线程实例的主线程调用,静态块在类加载时由主线程调用。理解这些细节对掌握Java多线程编程至关重要。
34 13

热门文章

最新文章