洛谷 - P2280 - 激光炸弹
https://www.luogu.org/problemnew/show/P2280
二维前缀和差分的模板题。注意学习二维前缀和的求法,不用又down又right的。
#include<bits/stdc++.h>
using namespace std;
#define ll long long int sum[][];
int n,R; void solve(){
for(int j=;j<=;j++)
sum[][j]+=sum[][j-];
for(int i=;i<=;i++)
sum[i][]+=sum[i-][];
for(int i=;i<=;i++){
for(int j=;j<=;j++){
sum[i][j]+=sum[i-][j]+sum[i][j-]-sum[i-][j-];
}
} /*for(int i=0;i<5;i++){
for(int j=0;j<5;j++){
printf(" %d",g[i][j]);
}
printf("\n");
}
printf("\n"); for(int i=0;i<5;i++){
for(int j=0;j<5;j++){
printf(" %d",sum[i][j]);
}
printf("\n");
}
printf("\n");*/ int ans=sum[R-][R-];
for(int j=R;j<=;j++)
ans=max(ans,sum[R-][j]-sum[R-][j-R]);
for(int i=R;i<=;i++)
ans=max(ans,sum[i][R-]-sum[i-R][R-]); for(int i=R;i<=;i++){
for(int j=R;j<=;j++){
int tmp=sum[i][j]-sum[i-R][j]-sum[i][j-R]+sum[i-R][j-R];
ans=max(ans,tmp);
}
}
printf("%d\n",ans); } int main(){
while(~scanf("%d%d",&n,&R)){
R=min(R,);
memset(sum,,sizeof(sum));
while(n--){
int x,y,v;
scanf("%d%d%d",&x,&y,&v);
sum[x][y]+=v;
}
solve();
}
}
洛谷 - P2280 - 激光炸弹的更多相关文章
- 洛谷P2280 [HNOI2003]激光炸弹
P2280 [HNOI2003]激光炸弹 题目描述 输入输出格式 输入格式: 输入文件名为input.txt 输入文件的第一行为正整数n和正整数R,接下来的n行每行有3个正整数,分别表示 xi,yi ...
- 洛谷P2280 [HNOI2003] 激光炸弹 [前缀和]
题目传送门 题目描述 输入输出格式 输入格式: 输入文件名为input.txt 输入文件的第一行为正整数n和正整数R,接下来的n行每行有3个正整数,分别表示 xi,yi ,vi . 输出格式: 输出文 ...
- 题解 洛谷 P2280 【[HNOI2003]激光炸弹】
这道题因为要求价值最大值,所以正方形应尽可能多覆盖目标,因此所得的正方形四个顶点一定在格点上. 经过分析后,我们就可以知道,该题做法就是用二维前缀和进行事前预处理,然后一个一个枚举每个点覆盖到的总价值 ...
- luogu P2280 激光炸弹(二维前缀和)
由题给的xi, yi范围,可以建立二维地图maze[i][j],记录i j范围上的所有目标的价值总和 即有maze[xi][yi] += wi 然后接下来的目标就是求出该二维数组的前缀和 可得到前缀和 ...
- Luogu P2280/ACAG 0x03-1 激光炸弹
Luogu P2280/ACAG 0x03-1 激光炸弹 这道题要用到二维前缀和. 首先读入时,令$a[x][y]=val$: 然后不难递推出$s[i][j]=s[x-1][y]+s[i][j-1]- ...
- P2280 [HNOI2003]激光炸弹(二维前缀和)
题目描述 一种新型的激光炸弹,可以摧毁一个边长为R的正方形内的所有的目标.现在地图上有n(n≤10000)个目标,用整数xi,yi(0≤xi,yi≤5000)表示目标在地图上的位置,每个目标都有一个价 ...
- 洛谷2973 [USACO10HOL]赶小猪Driving Out the Piggi… 概率 高斯消元
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - 洛谷2973 题意概括 有N个城市,M条双向道路组成的地图,城市标号为1到N.“西瓜炸弹”放在1号城市,保证城 ...
- 洛谷1640 bzoj1854游戏 匈牙利就是又短又快
bzoj炸了,靠离线版题目做了两道(过过样例什么的还是轻松的)但是交不了,正巧洛谷有个"大牛分站",就转回洛谷做题了 水题先行,一道傻逼匈牙利 其实本来的思路是搜索然后发现写出来类 ...
- 洛谷P1352 codevs1380 没有上司的舞会——S.B.S.
没有上司的舞会 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description Ural大学有N个职员,编号为1~N.他们有 ...
随机推荐
- SQL存储过程实例详解
本文用3个题目,从建立数据库到创建存储过程,详细讲解数据库的功能. 题目1 学校图书馆借书信息管理系统建立三个表: 学生信息表:student 字段名称 数据类型 说明 ...
- VBscript 做的设置网卡名称
Set WSHShell=WScript.CreateObject("WScript.Shell") Dim NetcardDescriptionDim NetcardName i ...
- 【转载】回调函数(callback)是什么?
一个很形象的例子: 你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话,过了几天店里有货了,店员就打了你的电话,然后你接到电话后就到店里去取了货.在这个例子里,你的电话号码就叫回 ...
- iOS应用崩溃日志分析 iOS应用崩溃日志揭秘
转自:http://www.raywenderlich.com/zh-hans/30818/ios%E5%BA%94%E7%94%A8%E5%B4%A9%E6%BA%83%E6%97%A5%E5%BF ...
- 【DataStructure】Description and Introduction of Tree
[Description] At ree is a nonlinear data structure that models a hierarchical organization. The char ...
- XMLHTTPRequest DEMO(发送测试)
对于其中的HTTP状态,我们知道200-299表明访问成功:300-399表明需要客户端 反应来满足请求:400-499和500-599表明客户端和服务器出错:其中常用的如404表示资源没找到,403 ...
- SQL面试练习(MySql)
创建测试数据库: /*如果已经存在此数据库,先删除*/ drop database if exists sqltest ; /*创建并设置编码为UTF-8*/ create database sqlt ...
- appium第一个安卓自动化工程
转自:https://university.utest.com/how-to-set-up-your-first-android-automation-project-with-appium/ App ...
- 在C语言中使用libb64进行Base64编解码
libb64下载地址http://sourceforge.net/projects/libb64 以下为Demo libb64_demo.c #include <stdio.h> #inc ...
- Velocity模板引擎笔记
模板引擎中判断对象是否为空: #if(!${jsonObj.data.buyerName} || ${jsonObj.data.buyerName} == '') <p>采 ...