洛谷P2280 [HNOI2003]激光炸弹
P2280 [HNOI2003]激光炸弹
题目描述

输入输出格式
输入格式:
输入文件名为input.txt
输入文件的第一行为正整数n和正整数R,接下来的n行每行有3个正整数,分别表示 xi,yi ,vi 。
输出格式:
输出文件名为output.txt
输出文件仅有一个正整数,表示一颗炸弹最多能炸掉地图上总价值为多少的目标(结果不会超过32767)。
输入输出样例
2 1
0 0 1
1 1 1
1
#include<iostream>
#include<cstdio>
using namespace std;
int sum[][],dp[][],ans,map[][],cnt[];
int n,r,max_x,max_y;
int main(){
//freopen("Cola.txt","r",stdin);
scanf("%d%d",&n,&r);
int x,y,z;
for(int i=;i<=n;i++){
scanf("%d%d%d",&x,&y,&z);
max_x=max(max_x,x);
max_y=max(max_y,y);
map[x][y]=z;
}
for(int i=;i<=max_y;i++)
for(int j=;j<=r-;j++)
sum[][i]+=map[j][i];
for(int i=;i<=max_y;i++){
for(int j=;j<=max_x;j++){
sum[j][i]=sum[j-][i]-map[j-][i]+map[j+r-][i];
}
}
for(int i=;i<=r-;i++)
dp[][]+=sum[][i];
ans=max(ans,dp[][]);
for(int i=;i<=r-;i++){
for(int j=;j<=r-;j++){
cnt[i]+=map[i][j];
}
}
for(int i=;i<=max_x;i++){
for(int j=;j<=r-;j++)
cnt[i+r-]+=map[i+r-][j];
dp[i][]=dp[i-][]-cnt[i-]+cnt[i+r-];
ans=max(ans,dp[i][]);
} for(int i=;i<=max_y;i++)
for(int j=;j<=max_x;j++){
dp[j][i]=dp[j][i-]-sum[j][i-]+sum[j][i+r-];
ans=max(ans,dp[i][j]);
}
printf("%d",ans);
} 30分 前缀和
30分 前缀和(写的丑的后果TLE+WA)
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
int n,r,dp[][];
void read(int &n)
{
char c='+';int x=;bool flag=;
while(c<''||c>''){c=getchar();if(c=='-')flag=;}
while(c>=''&&c<='')
{x=x*+c-;c=getchar();}
flag==?n=-x:n=x;
}
int ans=;
int main()
{
read(n);read(r);
for(int i=;i<=n;i++)
{
int x,y,z;
read(x);read(y);read(z);
dp[x+][y+]=z;
}
for(int i=;i<=;i++)
for(int j=;j<=;j++)
dp[i][j]=dp[i-][j]+dp[i][j-]-dp[i-][j-]+dp[i][j];
for(int i=;i<=-r;i++)
for(int j=;j<=-r;j++)
ans=max(ans,dp[i+r][j+r]-dp[i+r][j]-dp[i][j+r]+dp[i][j]);
printf("%d",ans);
return ;
}
100分 标准的前缀和
洛谷P2280 [HNOI2003]激光炸弹的更多相关文章
- 洛谷P2280 [HNOI2003] 激光炸弹 [前缀和]
题目传送门 题目描述 输入输出格式 输入格式: 输入文件名为input.txt 输入文件的第一行为正整数n和正整数R,接下来的n行每行有3个正整数,分别表示 xi,yi ,vi . 输出格式: 输出文 ...
- P2280 [HNOI2003]激光炸弹(二维前缀和)
题目描述 一种新型的激光炸弹,可以摧毁一个边长为R的正方形内的所有的目标.现在地图上有n(n≤10000)个目标,用整数xi,yi(0≤xi,yi≤5000)表示目标在地图上的位置,每个目标都有一个价 ...
- P2280 [HNOI2003]激光炸弹
题目描述 输入输出格式 输入格式: 输入文件名为input.txt 输入文件的第一行为正整数n和正整数R,接下来的n行每行有3个正整数,分别表示 xi,yi ,vi . 输出格式: 输出文件名为out ...
- P2280 [HNOI2003]激光炸弹[前缀和]
题目描述 输入输出格式 输入格式: 输入文件名为input.txt 输入文件的第一行为正整数n和正整数R,接下来的n行每行有3个正整数,分别表示 xi,yi ,vi . 输出格式: 输出文件名为out ...
- LUOGU P2280 [HNOI2003]激光炸弹
传送门 解题思路 二维前缀和. 代码 #include<iostream> #include<cstdio> #include<cstring> using nam ...
- BZOJ 1218: [HNOI2003]激光炸弹 前缀DP
1218: [HNOI2003]激光炸弹 Description 一种新型的激光炸弹,可以摧毁一个边长为R的正方形内的所有的目标.现在地图上有n(N<=10000)个目标,用整数Xi,Yi(其值 ...
- BZOJ 1218: [HNOI2003]激光炸弹( 前缀和 + 枚举 )
虽然source写着dp , 而且很明显dp可以搞...但是数据不大 , 前缀和 + 枚举也水的过去..... -------------------------------------------- ...
- 1218: [HNOI2003]激光炸弹
1218: [HNOI2003]激光炸弹 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1139 Solved: 542[Submit][Statu ...
- bzoj 1218 [HNOI2003]激光炸弹 二维前缀和
[HNOI2003]激光炸弹 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 3022 Solved: 1382[Submit][Status][Di ...
随机推荐
- 在linux 中卸载Mysql
一.通用的mysql卸载方式 1.查看系统中是否已经安装了mysql 命令:rpm -qa|grep -i mysql如果有显示msql的安装列表,代表已经安装了. 2.停止mysql服务.删除之前安 ...
- 《高性能Javascript》 Summary(二)
第四章.算法和流程控制 Algorithms And Flow Control 原因:代码整体结构是执行速度的决定因素之一.代码量少不一定运行速度快,代码量多不一定运行速度慢.性能损失与组织代码和具体 ...
- oracle ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
ORA-12514: TNS:listener does not currently know of service requested in connect descriptor 1.看看是不是监听 ...
- P5105 不强制在线的动态快速排序
P5105 不强制在线的动态快速排序 $\bigoplus \limits_{i=2}^n (a_i^2-a_{i-1}^2) = \bigoplus \limits_{i=2}^n (a_i-a_{ ...
- lk进kernel
-- ] [upmu_is_chr_det] [] DRAM Rank : [] DRAM Rank[] Start = 0x40000000, Size = 0x25fc0000 [] DRAM R ...
- CodeForces - 552E Vanya and Brackets —— 加与乘运算的组合
题目链接:https://vjudge.net/contest/224393#problem/E Vanya is doing his maths homework. He has an expres ...
- elasticsearch ——id字段说明,内部是_uid
_id field Each document indexed is associated with a _type (see the section called “Mapping Typesedi ...
- Java_图片处理_02_图片处理工具类库
二.参考文档 1.Java图片处理工具类库
- listen 75
Hot Jupiters Smarten Search For Other Earths Scientists are looking for Earth like planets around ot ...
- STM32中IO口的8中工作模式
该文摘自:http://blog.csdn.net/kevinhg/article/details/17490273 一.推挽输出:可以输出高.低电平,连接数字器件:推挽结构一般是指两个三极管分别受两 ...