题解 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喜欢滑雪.这并不奇怪,因为滑雪的确很刺激.可是为了获得速度,滑的区域必须向下倾斜 ...
随机推荐
- 用纯js实现一个文本编辑器
效果图 代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...
- Tornado 高并发源码分析之六---异步编程的几种实现方式
方式一:通过线程池或者进程池 导入库futures是python3自带的库,如果是python2,需要pip安装future这个库 备注:进程池和线程池写法相同 from concurrent.fut ...
- IDEA中快速排除maven依赖
选中该模块 点击show dependenties 切换试图 选中要排除的依赖,右击 选择Execlude,然后选择需要在哪个模块添加排除依赖 完成
- collections、time和datetime模块
主要内容: 一.collections模块 二.time模块 三.datetime模块 1️⃣ collection模块 1.什么是collections模块.干什么用? collections模块 ...
- UVA-11280 Flying to Fredericton
题意 给定一些国家,和两个国家间的花费,现在有一些询问,询问每次最多转k次飞机,最小花费 分析 最短路的裸题,跑spfa或者dijsktra什么的都行 多开一维来记录转k次飞机时的最短路是什么(拆点? ...
- 记一篇Python学习的简易版教程
廖雪峰的教学博客https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00143178 ...
- 面试题:Java程序员最常用的20%技术 已看1
首先常用api(String,StringBuffer/StringBuilder等) 1.集合类,线程类 2.Servlet(很少用纯粹的servlet写,但你要懂,因为很多框架都是基于servle ...
- vue.js的生命周期 及其created和mounted的部分
网上很多人有所总结,转载自: https://segmentfault.com/a/1190000008570622 关于created和mounted的部分,也可以参考: https://blo ...
- wordpress+lnmp出现 404 Not Found nginx
在本地使用Apache,因此进行重写规则是.htaccess文件,但在Nginx服务器中此文件不起作用. 只需在网站的虚拟机配置文件中添加如下 location / { if (-f $request ...
- mvc全局过滤器和httpmodule的执行顺序
根据http管线模型,请求先通过httpmodule,再通过httphandler,之后再进入mvc的过滤器 另外参考:MVC如何在Pipeline中接管请求的? http://www.cnblogs ...