观察题目中关于北边的定义,发现是以当前点为顶点,向上的倒三角(自己想想为什么)。

然后就可以直接 DP 了,令 \(f_{i,j}\) 表示点 \(\left(i,j\right)\) 的答案。

\[f_{i,j}=\min\left\{f_{i-1,j-1},f_{i-1,j},f_{i-1,j+1}\right\}
\]

主要考的是对定义的分析,时间复杂度 \(O\left(NM+K\right)\)。

code:

#include<bits/stdc++.h>
using namespace std;
#define N 1005
#define Min(x,y)((x)<(y)?x:y)
#define For(i,x,y)for(i=x;i<=(y);i++)
int h[N][N],f[N][N];
int read()
{
int A;
bool K;
char C;
C=A=K=0;
while(C<'0'||C>'9')K|=C=='-',C=getchar();
while(C>'/'&&C<':')A=(A<<3)+(A<<1)+(C^48),C=getchar();
return(K?-A:A);
}
int main()
{
int n,m,k,i,j,x,y;
n=read(),m=read(),k=read();
For(j,0,m+1)f[0][j]=INT_MAX>>1;
For(i,1,n)
For(j,1,m)h[i][j]=read();
For(i,1,n)
{
f[i][0]=f[i][m+1]=INT_MAX>>1;
For(j,1,m)f[i][j]=(h[i][j]>=h[i][j-1]&&h[i][j]>=h[i-1][j]&&h[i][j]>=h[i][j+1]&&h[i][j]>=h[i+1][j]?0:Min(f[i-1][j],Min(f[i-1][j-1],f[i-1][j+1]))+1);
}
while(k--)
{
x=read(),y=read();
if(f[x][y]<INT_MAX>>1)printf("%d\n",f[x][y]);
else puts("Pool Babingbaboom!");
}
return 0;
}

P4771 八百标兵奔北坡的更多相关文章

  1. Android 伤敌一千自损八百之萤石摄像头集成(二)

    本章主要是结合webview展示直播 app负责配网展示设备 加载webview播放 不介绍别的只说集成,至于APP_KEY.accessToken怎么获取的不予解释,官网都有 获取WiFi名称 这里 ...

  2. Android 伤敌一千自损八百之萤石摄像头集成(一)

    最近忙着修改萤石摄像头C3型号开头的设备添加 本来不是很复杂的事情. , 现在我感觉我入魔了 总感觉这是个小人 螺丝口是眼睛 插入SD卡的事鼻子嘴 接信号的事手 怎么看怎么像愤怒的小人 总结,先看一下 ...

  3. 以太坊系列之十八: 百行go代码构建p2p聊天室

    百行go代码构建p2p聊天室 百行go代码构建p2p聊天室 1. 上手使用 2. whisper 原理 3. 源码解读 3.1 参数说明 3.1 连接主节点 3.2 我的标识 3.2 配置我的节点 3 ...

  4. 003java面试笔记——【java基础篇】从团八百失败面试总结的java面试题(未完待续)

    8.java 线程     1)线程概念,线程与进程      线程:线程是“进程”中某个单一顺序的控制流.也被称为轻量进程.线程是进程中的实体,一个进程可以拥有多个线程,一个线程必须有一个父进程.线 ...

  5. sql 语句系列(null 值处理)[八百章之第二章]

    查找只存在一个表中的数据 有两张表: EMP: select * from emp DEPT: 他们有共同的属性:deptno 现在要查询EMP 中的deptno不等于DEPTNO的deptno项. ...

  6. sql 语句系列(多表之链)[八百章之第三章]

    新增连接查询而不影响其他连接查询 请看图: 这种情况我们一般会使用左连接的方式. select e.ENAME,d.LOC,eb.RECEIVED from emp e join dept d on( ...

  7. sql 语句系列(字符串的遍历嵌入删除与统计)[八百章之第十一章]

    遍历字符串 我觉得首先要提出一个疑问: 一个数据库本身就是用于存储的,遍历字符串究竟有何意义? 先看如何实现的,毕竟sql service 是没有for循环,也没有loop和while的. selec ...

  8. Android 伤敌一千自损八百之萤石摄像头集成(三)

    说一下萤石原生播放 先上代码 private MyOrientationDetector mOrientationDetector; @Override protected void onCreate ...

  9. angularJS(5)

    angularJS(5) 一,数据循环:特别要注意作用域 使用ng-repeat指令. <div ng-app="myApp" ng-controller="myC ...

随机推荐

  1. JAVA代码实现抖音短视频去水印功能

    今天有人找我帮他抖音视频去水印,发到朋友圈,然后就研究了一下.去水印功能代码如下: public class DouYinQushuiyin { public static void main(Str ...

  2. Redis学习笔记(五)——数据结构之哈希(Hash)

    一.介绍 Redis hash是一个string类型的field和value的映射表,hash特别设于用于存储对象. Redis中每个hash可以存储232 - 1 键值对(40多亿). 基本命令: ...

  3. JUC---03Lock(一)ReentrantLock

    1.什么是锁 在以前实现多线程的同步操作时,都是添加synchronized关键字或者synchronized代码块:而锁实现提供了比使用同步方法和语句可以获得的更广泛的锁操作.它们允许更灵活的结构, ...

  4. 程序人生|从网瘾少年到微软、BAT、字节offer收割机逆袭之路

    有情怀,有干货,微信搜索[三太子敖丙]关注这个不一样的程序员. 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试完整考点.资料以及我的系列文章. ...

  5. Redis基础—了解Redis是如何做数据持久化的

    之前的文章介绍了Redis的简单数据结构的相关使用和底层原理,这篇文章我们就来聊一下Redis应该如何保证高可用. 数据持久化 我们知道虽然单机的Redis虽然性能十分的出色, 单机能够扛住10w的Q ...

  6. c#练习习题:while循环

    2006年培养学员80000人,每年增长25%,请问按此增长速度,到哪一年培训学员人数将达到20万人? int count = 80000; int year = 2006; while (count ...

  7. 14Flask重要知识

    一,李辉<Flask Web开发实战> 1,内网穿透 内网穿透工具可以快速让flask项目运行: 1,https://localtunnel.github.io/www/ 2,https: ...

  8. CDN技术的原理及优缺点

    CDN的全称是Content Delivery Network,即内容分发网络.其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快.更稳定.通过在网络各处放置节 ...

  9. 第05组 Alpha冲刺 (2/6)(组长)

    .th1 { font-family: 黑体; font-size: 25px; color: rgba(0, 0, 255, 1) } #ka { margin-top: 50px } .aaa11 ...

  10. TypeScript注意

    中文文档中,元组目前已经不能越界访问