当前位置: 首页 > news >正文

算法竞赛进阶指南 激光炸弹

原题目链接

问题描述

地图上有 N 个目标点,用整数 Xᵢ, Yᵢ 表示目标在地图上的位置,每个目标都有一个价值 Wᵢ

注意:不同目标可能在同一位置

现在有一种新型的激光炸弹,可以摧毁一个包含 R × R 个位置的正方形区域内的所有目标。

激光炸弹的投放是通过卫星定位的,但有一个缺点:其爆炸范围,也就是正方形的边必须与 x、y 轴平行。位于正方形边上的点不会爆炸。

请计算:一颗炸弹最多能炸掉地图上目标的总价值为多少?


输入格式

  • 第一行输入两个正整数 NR,分别表示地图上的目标数量和正方形的边长,数据用空格隔开。
  • 接下来的 N 行,每行包含三个整数 Xᵢ Yᵢ Wᵢ,分别表示目标的横坐标、纵坐标和该目标的价值。

输出格式

输出一个正整数,表示一颗炸弹最多能炸掉的目标总价值。


数据范围

  • 0 < N ≤ 10000
  • 0 ≤ R ≤ 10^9
  • 0 ≤ Xᵢ, Yᵢ ≤ 5000
  • 0 ≤ Wᵢ ≤ 1000

输入样例

2 1
0 0 1
1 1 1

输出样例

1

c++代码

#include<bits/stdc++.h>
#include<stdio.h>

using namespace std;

int R, N, X, Y, W, m = 0, n = 0, ans = 0;
int g[5500][5500];

int main() {
    scanf("%d %d", &N, &R);
    R = min(R, 5001);
    m = R, n = R;
    R--;
    while(N--) {
        scanf("%d %d %d", &X, &Y, &W);
        g[X + 1][Y + 1] += W;
        m = max(m, X + 1);
        n = max(n, Y + 1);
    }
    for (int i = 1; i <= m; i++) {
        for (int j = 1; j <= n; j++) {
            g[i][j] += g[i - 1][j] + g[i][j - 1] - g[i - 1][j - 1];
        }
    }
    for (int i = R + 1; i <= m; i++) {
        for (int j = R + 1; j <= n; j++) {
            ans = max(ans, g[i][j] - g[i - R - 1][j] - g[i][j - R - 1] + g[i - R - 1][j - R - 1]);
        }
    }
    cout << ans;
    return 0;
}//by wqs

考察二维前缀和

相关文章:

  • 深度解析:文件或目录损坏且无法读取的应对之道
  • 布谷一对一直播源码android版环境配置流程及功能明细
  • Java8+Spring Boot + Vue + Langchain4j 实现阿里云百炼平台 AI 流式对话对接
  • 音频接口格式与通道
  • Vue项目 bug 解决
  • ES 参数调优
  • 【区块链安全 | 第二十七篇】合约(一)
  • 第八天 - paramiko/ssh模块 - 远程服务器管理 - 练习:批量服务器命令执行工具
  • Java课堂笔记4
  • 现代复古像素风等宽品牌游戏界面徽标设计Y2K装饰英文字体 AOT Lost Contact – Contemporary Pixel Font
  • Vue3.2 项目打包成 Electron 桌面应用
  • Chrome隐藏的截图命令
  • Ubuntu 24.04 LTS系统安装RTX 4090显卡驱动和cuda并部署ollama下载DeepSeek模型【自用详细版】
  • 异常处理及程序调试(Python)
  • 【Linux】系统进程管理
  • 【工具变量】A股上市公司企业创新活跃度数据集(2008-2023年)
  • 【论文笔记】RL在LLM中的落地方法
  • STM32——SPI通信
  • 怎么使用vue3实现一个优雅的不定高虚拟列表
  • mysql知识总结 基础篇
  • 4天内,云南昆明又一县市区原主官被查
  • 秦洪看盘|小市值股领涨,A股交易情绪复苏
  • 牛市早报|上市公司重大资产重组新规出炉,4月经济数据将公布
  • 孟夏韵评《无序的学科》丨误读与重构的文化漂流
  • 词条数量大幅扩充,《辞海》第八版启动编纂
  • 降水较常年同期少五成,安徽四大水利工程调水超11亿方应对旱情