题解 P1434 【滑雪】
此题运用功能强大的 ~~暴力搜索~~
记忆化搜索才是重点!!!
然而,这是一道经典的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 【滑雪】的更多相关文章
- luogu P1434 滑雪 x
P1434 滑雪 题目描述 Michael喜欢滑雪.这并不奇怪,因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你.Michael想知 ...
- 洛谷P1434滑雪题解及记忆化搜索的基本步骤
题目 滑雪是一道dp及记忆化搜索的经典题目. 所谓记忆化搜索便是在搜索的过程中边记录边搜索的一个算法. 当下次搜到这里时,便直接使用. 而且记忆化搜索一定要满足无后效性,为什么呢,因为如果不满足无后效 ...
- 【题解】滑雪 luogu1434 记忆化搜索
记忆化搜索入门题 题目 Michael喜欢滑雪.这并不奇怪,因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你.Michael想知道在 ...
- 洛谷 p1434 滑雪【记忆化搜索】
<题目链接> Michael喜欢滑雪.这并不奇怪,因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你.Michael想知道 ...
- 洛谷P1434 滑雪【记忆化搜索】
题目:https://www.luogu.org/problemnew/show/P1434 题意: 给一个矩阵,矩阵中的数字代表海拔高度. 现在要找一条最长路径,使得路径上的海拔是递减的. 思路: ...
- 洛谷P1434 滑雪
题目描述 Michael喜欢滑雪.这并不奇怪,因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你.Michael想知道在一个区域中最长 ...
- 洛谷 - P1434 - 滑雪 - 有向图最长链
https://www.luogu.org/problemnew/show/P1434 有向图的最长链怎么求?有环肯定不行,这里保证无环.(否则应该使用toposort先求出所有不带环的位置) 设dp ...
- 洛谷 P1434 滑雪
题目描述 Michael喜欢滑雪.这并不奇怪,因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你.Michael想知道在一个区域中最长 ...
- 洛谷—— P1434 滑雪
https://www.luogu.org/problem/show?pid=1434#sub 题目描述 Michael喜欢滑雪.这并不奇怪,因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜 ...
随机推荐
- java事件监听机制2
今天早上的两点收获: 1.addActionListener(其中的setActionCommand函数就是要对对象进行唯一性的标记,便于消息传来后进行处理.理论上actionlistener可以全部 ...
- [原创]Java使用反射及自定义注解实现对象差异性比较
Java项目C中 有一处逻辑,对于资源数据(类型为ResourceItem,拥有int/double/boolean/String类型数十个字段),需要比对资源数据每次变更的差异,并描述出变更情况.并 ...
- Eclipse 代码风格配置
代码风格配置:
- 搜索——深度优先搜索(DFS)
设想我们现在身处一个巨大的迷宫中,我们只能自己想办法走出去,下面是一种看上去很盲目但实际上会很有效的方法. 以当前所在位置为起点,沿着一条路向前走,当碰到岔道口时,选择其中一个岔路前进.如果选择的这个 ...
- 项目代码:js
1 //获取发文时间 function selectWriteTime(){ $("#writing_time_index").on("click"," ...
- 10个强大的Javascript表单验证插件推荐
创建一个JavaScript表单验证插件,可以说是一个繁琐的过程,涉及到初期设计.开发与测试等等环节.实际上一个优秀的程序员不仅是技术高手,也应该是善假于外物的.本文介绍了10个不错的JavaScri ...
- shell chmod中数字与字母的含义
数字与字母的组合是chmod命令赋予文件,目录访问权限的方式 访问权限:可读,可写,可执行 字母表示:r , w , x 数字表示:4 , 2 , 1 , ...
- Django----解决跨域
cors(跨域资源共享): 本质设置响应头 定制中间件 cors.py 后在settings.py中间件中配置 from django.utils.deprecation import Middlew ...
- SQLServer查询所有子节点
用CTE递归 ;with f as ( select * from tab where id=1 union all select a.* from tab as a inner join f as ...
- bootstrap三列布局
<!DOCTYPE html><html lang="zh-cn"><head><meta charset="utf-8&quo ...