题目链接

此题运用功能强大的 ~~暴力搜索~~

记忆化搜索才是重点!!!

然而,这是一道经典的DP问题

如果我们用$dis[i][j]$来表示坐标为$(i,j)$时的高度

$cnt[i][j]$ 是我们的记忆化数组

在合法的前提下,就有状态转移方程:

$dis[i][j]=max(dis[i-1][j],dis[i][j-1],dis[i+1][j],dis[i][j+1])$

好啦,直接上代码吧:其实挺暴力:

$2^{33……}$

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;//头文件不说啥
int dis[][];
int cnt[][];
int row,col;//行列数
inline int DP(int i, int j)//状态转移
{
int max1=; if(cnt[i][j]>)
return cnt[i][j];//记忆化,如果被搜过,跳就好 //判断dis[i][j-1]是否合法
if(j->=)//边界条件
if(dis[i][j]>dis[i][j-])//转移条件
if(max1<DP(i,j-))
max1=DP(i,j-); //判断dis[i][j+1]是否合法
if(j+<=col-)
if(dis[i][j]>dis[i][j+])
if(max1<DP(i,j+))
max1=DP(i,j+); //判断dis[i-1][j]是否合法
if(i->=)
if(dis[i][j]>dis[i-][j])
if(max1<DP(i-,j))
max1=DP(i-,j); //判断dis[i+1][j]是否合法
if(i+<=row-)
if(dis[i][j]>dis[i+][j])
if(max1<DP(i+,j))
max1=DP(i+,j); return cnt[i][j]=max1+;//转移
}
int main()
{
scanf("%d%d",&row,&col);//输入
for(int i=;i<=row-;i++)
for(int j=;j<=col-;j++)
scanf("%d",&dis[i][j]); for(int i=;i<=row-;i++)//状态转移
for(int j=;j<=col-;j++)
DP(i, j); for(int i=;i<=row-;i++)//找最大值
for(int j=;j<=col-;j++)
if(cnt[][]<cnt[i][j])
cnt[][]=cnt[i][j]; printf("%d",cnt[][]);//输出
return ;//程序拜拜
}

题解 P1434 【滑雪】的更多相关文章

  1. luogu P1434 滑雪 x

    P1434 滑雪 题目描述 Michael喜欢滑雪.这并不奇怪,因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你.Michael想知 ...

  2. 洛谷P1434滑雪题解及记忆化搜索的基本步骤

    题目 滑雪是一道dp及记忆化搜索的经典题目. 所谓记忆化搜索便是在搜索的过程中边记录边搜索的一个算法. 当下次搜到这里时,便直接使用. 而且记忆化搜索一定要满足无后效性,为什么呢,因为如果不满足无后效 ...

  3. 【题解】滑雪 luogu1434 记忆化搜索

    记忆化搜索入门题 题目 Michael喜欢滑雪.这并不奇怪,因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你.Michael想知道在 ...

  4. 洛谷 p1434 滑雪【记忆化搜索】

    <题目链接> Michael喜欢滑雪.这并不奇怪,因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你.Michael想知道 ...

  5. 洛谷P1434 滑雪【记忆化搜索】

    题目:https://www.luogu.org/problemnew/show/P1434 题意: 给一个矩阵,矩阵中的数字代表海拔高度. 现在要找一条最长路径,使得路径上的海拔是递减的. 思路: ...

  6. 洛谷P1434 滑雪

    题目描述 Michael喜欢滑雪.这并不奇怪,因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你.Michael想知道在一个区域中最长 ...

  7. 洛谷 - P1434 - 滑雪 - 有向图最长链

    https://www.luogu.org/problemnew/show/P1434 有向图的最长链怎么求?有环肯定不行,这里保证无环.(否则应该使用toposort先求出所有不带环的位置) 设dp ...

  8. 洛谷 P1434 滑雪

    题目描述 Michael喜欢滑雪.这并不奇怪,因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你.Michael想知道在一个区域中最长 ...

  9. 洛谷—— P1434 滑雪

    https://www.luogu.org/problem/show?pid=1434#sub 题目描述 Michael喜欢滑雪.这并不奇怪,因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜 ...

随机推荐

  1. Java的I/O流问题

    一.流的概念        流(stream)的概念源于UNIX中管道(pipe)的概念.在UNIX中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备.外部文件等.        ...

  2. day8-心得

    1. Socket介绍 概念 A network socket is an endpoint of a connection across a computer network. Today, mos ...

  3. python---Redis 学习笔记

    缓存 前言: 大家都听过缓存,缓存是干啥的呢?我们可以和json和pickle来说,两个程序之间实现信息交互,可以通过在A程序中把数据改成json ,然后传给B程序,通过文件这个介质.文件这个效率很低 ...

  4. sql代码段添加数据

      declare @i int,@index int     set @i=1     set @index=0   while @i<1000000   begin    set @inde ...

  5. Objective-C 基础语法log打印那些事儿(一)

    Objective-C 基础语法详解 雨松MOMO原创文章如转载,请注明:转载至我的独立域名博客雨松MOMO程序研究院,原文地址:http://www.xuanyusong.com/archives/ ...

  6. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 5 Octave Tutorial—5.6 向量化 Vectorization

    5.6 向量化 Vectorization 参考视频: 5 - 6 - Vectorization (14 min).mkv 下面是向量化的小例子,如果将所有u(j) .所有v(j).所有w(j)都看 ...

  7. 关于windows的jdk

    扯淡工作从web开发转向build automation,不知不觉已经一个半月了,各种学习熟悉build相关的流程和知识,比如ant, maven, jenkins 等CI技能.因为这一个半月学的东西 ...

  8. HandleErrorAttribute

    前言 一直在给Team的人强调“Good programming is good Error Handling”,没人喜欢YSOD(Yellow Screen of Death).我每次看到黄页的时候 ...

  9. intval()函数

    获取变量的整数值 1.转换前转化后 原因:

  10. 8.python 系统批量运维管理器之pexpect模块

    小插曲 前几节讲了paramiko模块,但是pexpect模块的功能几乎跟paramiko一样,先来分析一下: 1.各自介绍 pexpect是一个通过启动子程序,使用正则表达式对程序输出做出特定响应, ...