激光炸弹
一种新型的激光炸弹,可以摧毁一个边长为 RR 的正方形内的所有的目标。
现在地图上有 NN 个目标,用整数Xi,YiXi,Yi表示目标在地图上的位置,每个目标都有一个价值WiWi。
激光炸弹的投放是通过卫星定位的,但其有一个缺点,就是其爆炸范围,即那个边长为 RR 的正方形的边必须和x,yx,y轴平行。
若目标位于爆破正方形的边上,该目标不会被摧毁。
求一颗炸弹最多能炸掉地图上总价值为多少的目标。
输入格式
第一行输入正整数 NN 和 RR ,分别代表地图上的目标数目和正方形的边长,数据用空格隔开。
接下来NN行,每行输入一组数据,每组数据包括三个整数Xi,Yi,WiXi,Yi,Wi,分别代表目标的xx坐标,yy坐标和价值,数据用空格隔开。
输出格式
输出一个正整数,代表一颗炸弹最多能炸掉地图上目标的总价值数目。
数据范围
0<N≤100000<N≤10000,
0≤Xi,Yi≤50000≤Xi,Yi≤5000
输入样例:
2 1
0 0 1
1 1 1
输出样例:
1
ps:我真菜,都看了讲解了都还错了一次,半天找不到错误。本题为一个二维前缀和的板题,但注意细节问题
二维前缀和:
假设在一个二维平面上,每个点具有一定的权值,我们要计算点(2,2)到(8,4)的权值和。

首先我们要找到这么几块面积:

我们可以发现,我们所要求的黄色区域,就是
黑色 - 绿色 - 粉色 + 青色 。
#include<bits/stdc++.h>
using namespace std;
int a[5005][5005];
int main()</

博客围绕激光炸弹问题展开,该炸弹可摧毁边长为 R 的正方形内目标,地图有 N 个带价值的目标。介绍了问题的输入输出格式、数据范围及样例,指出这是二维前缀和板题,还讲解了二维前缀和计算特定区域权值和的方法。
最低0.47元/天 解锁文章
1168

被折叠的 条评论
为什么被折叠?



