P2280 [HNOI2003]激光炸弹 题目描述 输入输出格式 输入格式: 输入文件名为input.txt 输入文件的第一行为正整数n和正整数R,接下来的n行每行有3个正整数,分别表示 xi,yi ,vi . 输出格式: 输出文件名为output.txt 输出文件仅有一个正整数,表示一颗炸弹最多能炸掉地图上总价值为多少的目标(结果不会超过32767). 输入输出样例 输入样例#1: 2 1 0 0 1 1 1 1 输出样例#1: 1 #include<iostream> #include&l…
题目传送门 题目描述 输入输出格式 输入格式: 输入文件名为input.txt 输入文件的第一行为正整数n和正整数R,接下来的n行每行有3个正整数,分别表示 xi,yi ,vi . 输出格式: 输出文件名为output.txt 输出文件仅有一个正整数,表示一颗炸弹最多能炸掉地图上总价值为多少的目标(结果不会超过32767). 输入输出样例 输入样例#1: 复制 2 1 0 0 1 1 1 1 输出样例#1: 复制 1 分析:也没什么好分析的,基本的前缀和,用下容斥原理,注意一下边界就可以了. C…
题目描述 一种新型的激光炸弹,可以摧毁一个边长为R的正方形内的所有的目标.现在地图上有n(n≤10000)个目标,用整数xi,yi(0≤xi,yi≤5000)表示目标在地图上的位置,每个目标都有一个价值0<vi<100.激光炸弹的投放是通过卫星定位的,但其有一个缺点,就是其爆破范围,即那个边长为R的正方形的边必须和x,y轴平行.若目标位于爆破正方形的边上,该目标将不会被摧毁. 现在你的任务是计算一颗炸弹最多能炸掉地图上总价值为多少的目标.   输入输出格式 输入格式: 输入文件的第一行为正整数…
这道题因为要求价值最大值,所以正方形应尽可能多覆盖目标,因此所得的正方形四个顶点一定在格点上. 经过分析后,我们就可以知道,该题做法就是用二维前缀和进行事前预处理,然后一个一个枚举每个点覆盖到的总价值. 注意点: 1.为了防止被xi=0和yi=0的情况坑和方便进行前缀和优化处理,我们可以将每个点的坐标都+1再录入数组. 2.因为每个目标的价值都为正整数,所以我们可以直接用记录的数组进行前缀和处理,不然会超内存. 3.进行二维前缀和处理时,可以利用容斥原理算出每个正方形所覆盖的价值. code:…
题目描述 输入输出格式 输入格式: 输入文件名为input.txt 输入文件的第一行为正整数n和正整数R,接下来的n行每行有3个正整数,分别表示 xi,yi ,vi . 输出格式: 输出文件名为output.txt 输出文件仅有一个正整数,表示一颗炸弹最多能炸掉地图上总价值为多少的目标(结果不会超过32767). 输入输出样例 输入样例#1: 复制 2 1 0 0 1 1 1 1 输出样例#1: 复制 1 二维前缀和板子题我要说的是一个cin输入问题,此题不能cin>>a>>b&g…
题目描述 输入输出格式 输入格式: 输入文件名为input.txt 输入文件的第一行为正整数n和正整数R,接下来的n行每行有3个正整数,分别表示 xi,yi ,vi . 输出格式: 输出文件名为output.txt 输出文件仅有一个正整数,表示一颗炸弹最多能炸掉地图上总价值为多少的目标(结果不会超过32767). 输入输出样例 输入样例#1: 2 1 0 0 1 1 1 1 输出样例#1: 1 解析: 如你所见,这是一个暴力. 枚举正方形右下角位置,前缀和优化到\(O(n^2)\),空间也压一下…
传送门 解题思路 二维前缀和. 代码 #include<iostream> #include<cstdio> #include<cstring> using namespace std; ; inline int rd(){ ,f=;char ch=getchar(); :;ch=getchar();} )+(x<<)+ch-';ch=getchar();} return f?x:-x; } int n,r,a[MAXN][MAXN],ans; int ma…
1218: [HNOI2003]激光炸弹 Description 一种新型的激光炸弹,可以摧毁一个边长为R的正方形内的所有的目标.现在地图上有n(N<=10000)个目标,用整数Xi,Yi(其值在[0,5000])表示目标在地图上的位置,每个目标都有一个价值.激光炸弹的投放是通过卫星定位的,但其有一个缺点,就是其爆破范围,即那个边长为R的正方形的边必须和x,y轴平行.若目标位于爆破正方形的边上,该目标将不会被摧毁. 0 Input 输入文件的第一行为正整数n和正整数R,接下来的n行每行有3个正整…
1218: [HNOI2003]激光炸弹 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1139  Solved: 542[Submit][Status] Description 一种新型的激光炸弹,可以摧毁一个边长为R的正方形内的所有的目标.现在地图上有n(N<=10000)个目标,用整数Xi,Yi(其值在[0,5000])表示目标在地图上的位置,每个目标都有一个价值.激光炸弹的投放是通过卫星定位的,但其有一个缺点,就是其爆破范围,即那个边长为…
1218: [HNOI2003]激光炸弹 题目:传送门 题解: 一道经典题目啊... 为了更好的操作...把整个坐标系向右上角移动,从(1,1)开始 那么f[i][j]统计一下以(i,j)作为右上角,以(1,1)作为左下角所组成的矩阵里面的价值和 不难发现,爆炸范围为R*R,且刚好在边上的点不会被摧毁,那么有效矩阵的四条边上肯定就只有R个点 那么ans=max(ans,f[i][j]+f[i-r][j-r]-f[i][j-r]-f[i-r][j]); 代码: #include<cstdio>…