Description

一种新型的激光炸弹,能够摧毁一个边长为R的正方形内的全部的目标。如今地图上有n(N<=10000)个目标,用整数Xi,Yi(其值在[0,5000])表示目标在地图上的位置,每一个目标都有一个价值。激光炸弹的投放是通过卫星定位的。但其有一个缺点,就是其爆破范围,即那个边长为R的正方形的边必须和x,y轴平行。

若目标位于爆破正方形的边上,该目标将不会被摧毁。 0

Input

输入文件的第一行为正整数n和正整数R,接下来的n行每行有3个正整数,分别表示

Output

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

Sample Input

2 1
0 0 1
1 1 1

Sample Output

1

水题一枚。题目意思是给出n个点。每一个点有一个价值,问一个边长为r的点最大能获得多大价值。

维护一个二维前缀和就可以。
a[i][j] 表示(0,0)到(i,j)的和。
我们要求红色部分,就要a[i][j] - a[i - r][j] - a[i][j - r] + a[i - r][j - r](由于这部分减了两次);
就没了。注意要5001,不要写成n。
代码:
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <algorithm>
#define N 5001
using namespace std;int a[5010][5010];
int n,r,ans;
int main()
{scanf("%d%d",&n,&r);for(int i = 1; i <= n; i ++){int x,y,z;scanf("%d%d%d",&x,&y,&z);a[x + 1][y + 1] += z;}for(int i = 1; i <= N; i ++)for(int j = 1; j <= N; j ++)a[i][j] += a[i - 1][j];for(int i = 1; i <= N; i ++)for(int j = 1; j <= N; j ++)a[i][j] += a[i][j - 1];for(int i = r; i <= N; i ++)for(int j = r; j <= N; j ++)ans = max(ans, a[i][j] + a[i - r][j - r] - a[i][j - r] - a[i - r][j]);printf("%d",ans);return 0;
}

转载于:https://www.cnblogs.com/clnchanpin/p/7054083.html

bzoj 1218 [HNOI2003]激光炸弹相关推荐

  1. P2280 [HNOI2003]激光炸弹(二维前缀和的简单应用)难度⭐⭐⭐

    P2280 [HNOI2003]激光炸弹 输出 2 1 0 0 1 1 1 1 输入 1 这道题就是最基础的二位前缀和的应用,如果不会的话可以点击下方链接学习哟 前缀和差分详解 #include< ...

  2. P2280 [HNOI2003]激光炸弹

    P2280 [HNOI2003]激光炸弹 题目描述 输入输出格式 输入格式: 输入文件名为input.txt 输入文件的第一行为正整数n和正整数R,接下来的n行每行有3个正整数,分别表示 xi,yi ...

  3. bzoj1218[HNOI2003]激光炸弹

    bzoj1218[HNOI2003]激光炸弹 题意: 坐标系上有n个目标,每个目标有一个价值,现在求一个边与坐标轴平行,边长为R的正方形,使在其内部(原题是不包括边界,然而实际上不是这样)的目标价值最 ...

  4. [HNOI2003]激光炸弹

    [HNOI2003]激光炸弹 这道题差不多就是二维前缀和的模板题了,但是坑点也不少额,稍微不注意就WA了,好了,我们一起来看看题意吧: 题目描述 一种新型的激光炸弹,可以摧毁一个边长为R的正方形内的所 ...

  5. 暑假每日算法学习打卡(十)----[HNOI2003]激光炸弹,「土」秘法地震(二维前缀和),Captcha Cracker【牛客】

    [HNOI2003]激光炸弹 题目描述  一种新型的激光炸弹,可以摧毁一个边长为R的正方形内的所有的目标. 现在地图上有n(N ≤ 10000)个目标,用整数Xi,Yi(其值在[0,5000])表示目 ...

  6. [HNOI2003]激光炸弹(二维前缀和+大坑点)

    地图上有 N 个目标,用整数 Xi,Yi表示目标在地图上的位置,每个目标都有一个价值 Wi. 注意:不同目标可能在同一位置. 现在有一种新型的激光炸弹,可以摧毁一个包含 R×R个位置的正方形内的所有目 ...

  7. 洛谷P2280 [HNOI2003]激光炸弹

    题目描述 输入输出格式 输入格式: 输入文件名为input.txt 输入文件的第一行为正整数n和正整数R,接下来的n行每行有3个正整数,分别表示 xi,yi ,vi . 输出格式: 输出文件名为out ...

  8. HNOI2003激光炸弹

    没想到是前缀和,太拉跨了. 一道二位前缀和的题,被正方形的边上不能炸给唬住了.思维江化. f[i][j]用来存坐标为i,j的点和坐标1,1的点所围成的矩形能炸掉的最大价值.(就是个二维前缀和) 有一点 ...

  9. [日常摸鱼]bzoj1218[HNOI2003]激光炸弹-二维前缀

    题意:二维网格一些格子有权值,求用边长为$r$的正方形能覆盖到格子权值和的最大值,格子大小$ \leq 5000$ 非常裸的二维前缀,然而 题目下标从0开始! QAQ 要是比赛就要爆零啦- #incl ...

最新文章

  1. notepad php发布网站,谈谈如何把WordPress部署到服务器上
  2. ZeroMQ在windows下不同语言的编译
  3. MongoDB--预备
  4. 哈工大操作系统环境配置
  5. SAP SD销售收入科目确定VKOA
  6. 十行代码实现网页标题滚动效果!
  7. 转载--SQL还原数据库后孤立用户问题处理(SQL 数据库 拥有对象 无法删除)
  8. python做后端速度慢吗_【后端开发】python如何提高运行速度
  9. ArcView Spacial Analyst v2.0 1CD
  10. office插件开发_理工科公式编辑工具——Aurora插件
  11. 基于SpringBoot和Vue的OA办公管理系统
  12. arduino/mixly ESP now通信
  13. 为什么晚睡晚起的人会更聪明?
  14. K8S报错network is not ready: container runtime network not ready
  15. python写android的App(kivy框架)的实践(1)
  16. Linux 编辑器 !强推!
  17. Matlab拟合幂律分布
  18. 基于Python的OpenCV函数----imshow(winname, mat)【显示图片】
  19. 【CSS】记踩坑-图片3D旋转设置景深perspective
  20. java sqoop api 导mysql数据到hdfs

热门文章

  1. 【转】linux vi vim 的使用
  2. matlab安装LIBSVM
  3. ESXI虚拟机转换成物理机[V2P]
  4. 【美化vim】vim 实用工具美化
  5. 嵌入式的新大陆fm30扫描模组在电影取票设备的应用
  6. 【java】蓝桥杯 甲乙回合战斗
  7. Fremi problem费米问题如何解决
  8. execl 单元格颜色设置
  9. [Intensive Reading]从AlexNet理解卷积神经网络的一般结构
  10. 制作滚动表格,循环列表表格内容