【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)
今天遇到这题因为以前没见到过,当时就是想着应该有着一个很简单的方法可以过但是奈何就是没思路。后来看了别人思路写了下来。学习了尺取法
93 0
|
人工智能 算法 Java
多解法综合题:「动态规划」&「前缀和 二分」&「双指针」| Java 刷题打卡
多解法综合题:「动态规划」&「前缀和 二分」&「双指针」| Java 刷题打卡
|
Java 索引 Python
啥是前缀和呀?图解前缀和(含模板)| Java 刷题打卡
啥是前缀和呀?图解前缀和(含模板)| Java 刷题打卡
下次如何在 30 秒内做出来?二维前缀和模板如何记忆 | Java 刷题打卡
下次如何在 30 秒内做出来?二维前缀和模板如何记忆 | Java 刷题打卡
综合笔试题:一道结合了「Top K + 前缀和」的数学题|Java 刷题打卡
综合笔试题:一道结合了「Top K + 前缀和」的数学题|Java 刷题打卡
前缀和求解「任意子数组和的绝对值的最大值」问题|Java 刷题打卡
前缀和求解「任意子数组和的绝对值的最大值」问题|Java 刷题打卡
经典「前缀和」应用题,以及两大空间优化点|Java 刷题打卡
经典「前缀和」应用题,以及两大空间优化点|Java 刷题打卡
|
9天前
|
监控 安全 Java
在 Java 中使用线程池监控以及动态调整线程池时需要注意什么?
【10月更文挑战第22天】在进行线程池的监控和动态调整时,要综合考虑多方面的因素,谨慎操作,以确保线程池能够高效、稳定地运行,满足业务的需求。
80 38
|
6天前
|
安全 Java
java 中 i++ 到底是否线程安全?
本文通过实例探讨了 `i++` 在多线程环境下的线程安全性问题。首先,使用 100 个线程分别执行 10000 次 `i++` 操作,发现最终结果小于预期的 1000000,证明 `i++` 是线程不安全的。接着,介绍了两种解决方法:使用 `synchronized` 关键字加锁和使用 `AtomicInteger` 类。其中,`AtomicInteger` 通过 `CAS` 操作实现了高效的线程安全。最后,通过分析字节码和源码,解释了 `i++` 为何线程不安全以及 `AtomicInteger` 如何保证线程安全。
java 中 i++ 到底是否线程安全?