八百标兵奔北坡【DP】
题目大意:
现在在一张N*M的地图上有K只babingbaboom!!!对于一张地图上的点都有一个h[i][j] 来表示这个地方的高度。现在这些babingbaboom都想要跑到北边的一个山坡上。求出离每一个babingbaboom最近的靠北的山。
山:
山的周围没有比它更高的地方。(四联通)
在北边:
令一个人的坐标为A(a,b),山的坐标为B(x,y) ,山在人的北边当且仅当dis[A][B]=a−x
思路:
很明显是一道DP题目。
画一下图就可以发现,其实在北边的位置就是一个三角形。
设f[i][j]为i行j列距离北边最近山峰的距离。
那么如果这个位置本身就是一个山峰,那么f[i][j]=0
如果这个位置不是山峰,那么由于是一个三角形,就有
采用离线算法,O(1)输出
代码:
#include <cstdio> #include <iostream> #include <cstring> #define Inf 99999999 using namespace std;int n,m,k,x,y,a[2001][2001],f[2001][2001];int main() {scanf("%d%d%d",&n,&m,&k);memset(f,127/3,sizeof(f)); //初始化for (int i=1;i<=n;i++)for (int j=1;j<=m;j++)scanf("%d",&a[i][j]);for (int i=1;i<=n;i++)for (int j=1;j<=m;j++) //枚举点f[i][j]=(a[i][j]<=a[i-1][j]||a[i][j]<=a[i+1][j]||a[i][j]<=a[i][j-1]||a[i][j]<=a[i][j+1])?min(f[i-1][j+1],min(f[i-1][j-1],f[i-1][j]))+1:0; //若这是一个山峰,则f[i][j]=0,否则为旁边点到山峰的距离+1 while (k--){scanf("%d%d",&x,&y);f[x][y]>Inf?printf("Pool Babingbaboom!\n"):printf("%d\n",f[x][y]);}return 0; }
转载于:https://www.cnblogs.com/hello-tomorrow/p/9353180.html
八百标兵奔北坡【DP】相关推荐
- 【DP】洛谷公开赛 CYJian的水题大赛 T1 八百标兵奔北坡
题目链接 https://www.luogu.org/problemnew/show/U30363 题目大意 给定每个点的高度,求出每个点与离他最近的高于周围点高度的点(即山)之间的切比雪夫距离 解题 ...
- 题解洛谷P4771(c++解法)八百标兵奔北坡
这是一道非常成功的题目(完全看不出是DP),于是身为蒟蒻的我就开始乱搞~~(乱搞压标算)~~ , 在被样例图示坑到后,我完成了一份成功的暴力,如下 #include<iostream> # ...
- 八百元八核的服务器?二手服务器搭建指南
当你在花近万元剁手i7 5960x时,有没有想过,在华强北的某个角落,有一群人靠几百块收来的二手服务器配件,搭建了一台性能同等,甚至更强的服务器! 不知道有多少人还记得笔者之前发的贴子<看我如何 ...
- 八百客CRM:微信提现收费,仅仅用户钱包受了伤?
近日,微信支付团队发布公告称,自2016年3月1日起,微信支付将对个人用户零钱提现开始收费,一石激起千层浪,引起了公众的广泛关注.这一收费措施,将会给用户带来怎样的"蝴蝶效应". ...
- 中小企业CRM评测-八百客
系统管理<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> 如何评 ...
- 自损八百!内存芯片大厂美光断供华为:与华为业务占其营收13%
继英特尔.高通.赛灵思.博通等美国科技大企之后,内存芯片大厂美光科技5月29日也发出声明正式暂停向华为供货. 美光(Micron)发布正式声明指出,遵守美国及各营运据点所在国家的所有法律与法规,目前已 ...
- 基金指数温度怎么算_壁挂炉采暖费怎么算?从两千到八百,内行人教你别再花冤枉钱...
阅读本文前,请您先点击上面的"蓝色字体",再点击"关注",这样您就可以继续免费收到文章了.每天都会有分享,都是免费订阅,请您放心关注.注:本文转载自网络,不代表 ...
- 山寨式创业 八百客誓做“管理软件终结者 ”
2004年6月,曾在甲骨文公司做软件开发的李智从美国硅谷回国创业.那时候,美国独立SAAS(在线软件)厂商Salesforce已经得到了市场的广泛认可.李智在当时就很清楚,虽然中国市场并不一定马上就能 ...
- 浅谈八百呼电销系统的基础功能
电销,即指"电话营销",就是通过先进的电话技术和计算机技术(包括:数据库技术和网络技术等),实现在多种情况下与客户的接触,从而与客户建立起信任关系,并在建立关系的过程中,了解和挖掘 ...
最新文章
- CVPR2020:三维点云无监督表示学习的全局局部双向推理
- R语言:计算各种距离
- 吴恩达深度学习笔记(67)-迁移学习(Transfer learning)
- Python中浅拷贝与深拷贝的骚操作
- vivox50pro鸿蒙系统,钱包卡包都承包 vivo X50 Pro+多功能NFC玩法多
- radiobutton在listview中处理
- codematic2连接mysql失败_动软代码生成器Codematic
- 图像颜色与强度分离(intensity and color decouple)方法 matlab代码
- 张柏芝-从清纯走向堕落
- android dlna uri,android DLNA投屏
- java捕鱼源码,java实现捕鱼达人
- 语音信号调制matlab,第二章 语音信号的数字模型 数字语音处理及MATLAB仿真 教学课件.ppt...
- 2018.11.3 PION模拟赛
- c语言中%加字母是啥意思,%C是什么意思? C语言中%c,%s分别代表什么意思?
- PI API 基础函数(一)
- 获取地图数据GEOJSON还有OSM
- AI 在视频领域运用—弹幕穿人
- 关于对象转json字符串的几个工具比较
- 启迪智慧的故事【老太太买李子】
- SQL查询语句(一)