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

每日一题7.21

P2280 [HNOI2003] 激光炸弹 - 洛谷

题目描述

一种新型的激光炸弹,可以摧毁一个边长为 m 的正方形内的所有目标。现在地图上有 n 个目标,用整数 xi​ , yi​ 表示目标在地图上的位置,每个目标都有一个价值 vi​。激光炸弹的投放是通过卫星定位的,但其有一个缺点,就是其爆破范围,即那个边长为 m 的边必须与 x 轴,y 轴平行。若目标位于爆破正方形的边上,该目标不会被摧毁。

现在你的任务是计算一颗炸弹最多能炸掉地图上总价值为多少的目标。

可能存在多个目标在同一位置上的情况。

输入格式

输入的第一行为整数 n 和整数 m;

接下来的 n 行,每行有 3 个整数 x,y,v,表示一个目标的坐标与价值。

输出格式

输出仅有一个正整数,表示一颗炸弹最多能炸掉地图上总价值为多少的目标(结果不会超过 32767 )。

输入输出样例

输入 #1复制

2 1
0 0 1
1 1 1

输出 #1复制

1

说明/提示

数据规模与约定

  • 对于 100% 的数据,保证 1≤n≤104,0≤xi​,yi​≤5×103,1≤m≤5×103,1≤vi​<100。

二维前缀和,状态转移方程:

dp[i][j]=dp[i-1][j]+dp[i][j-1]-dp[i-1][j-1]+dp[i][j];

来计算从0,0到i,j这个长方形里容纳的总价值 

然后用

            int sum=dp[i][j]+dp[i-m][j-m]-dp[i-m][j]-dp[i][j-m];

 来得到右下角为i,j边长为m的正方形的价值总和。

#include <bits/stdc++.h>
using namespace std;
#define N 5005
int main() {int n, m;cin >> n >> m;vector<vector<int>> dp(N, vector<int>(N, 0));for (int i = 0; i < n; i++) {int x, y, w;cin >> x >> y >> w;dp[x+1][y+1]+=w;}int ans = 0;for(int i=1;i<=N-1;i++)for(int j=1;j<=N-1;j++)dp[i][j]=dp[i-1][j]+dp[i][j-1]-dp[i-1][j-1]+dp[i][j];for(int i=m;i<=N-1;i++)for (int j = m; j <= N-1; j++){int sum=dp[i][j]+dp[i-m][j-m]-dp[i-m][j]-dp[i][j-m];ans = max(ans, sum);}cout << ans << endl;return 0;
}

http://www.dtcms.com/a/291093.html

相关文章:

  • 自动化商品监控:利用淘宝API开发实时价格库存采集接口
  • springdoc-openapi-ui的使用教程
  • 嵌入式开发学习———Linux环境下C语言学习(十二)
  • 【Tools】Ubuntu24.04安装详细教程
  • mobaxteam x11传输界面避坑
  • SAP 邮箱配置
  • C语言运算符优先级“潜规则”
  • 原型与原型链
  • 二维码扫描登录流程详解
  • 【Elasticsearch】settings
  • 解密分账系统:企业资金管理的智能中枢
  • Linux的相关指令
  • 京东商品评论如何获取?API接口实战指南
  • Kali MSF渗透Windows 11电脑
  • Linux_gdb调试器--进程概念
  • Linux初识网络
  • MySQL 核心知识点梳理(3)
  • buntu 22.04 上离线安装Docker 25.0.5(二)
  • 如何升级到macOS Tahoe:全面指南与实用步骤
  • LeetCode 每日一题 2025/7/14-2025/7/20
  • Mysql(存储过程)
  • 图像编辑开源数据项目
  • 了解 ReAct 框架:语言模型中推理与行动的协同
  • 疯狂星期四文案网第14天运营日记
  • DBSCAN聚类算法
  • OpenAI API(1)补全Responses(Chat Completions)API和记忆Assistants API对比分析
  • 牛客周赛 Round 101(题解的token计算, 76修地铁 ,76选数,76构造,qcjj寄快递,幂中幂plus)
  • 使用pymongo进行MongoDB的回收
  • JAVA高级第七章输入和输出处理(二)
  • 前缀和题目:元素和小于等于阈值的正方形的最大边长