题目链接

https://www.acwing.com/problem/content/903/

思路

我们定义f[i][j]f[i][j]f[i][j]表示以(i,j)(i,j)(i,j)作为起点的滑行最远距离,由于我们至多只有四个方向滑行且要求只能朝低处滑行,那么我们的状态也最多从四个方向转移过来,于是我们使用搜索在递归的时候处理边界,然后回溯的时候不断地更新f[i][j]f[i][j]f[i][j]地值,详情请看代码

代码

#include<bits/stdc++.h>
using namespace std;const int N = 3e2+10;
int a[N][N],f[N][N];
int n,m;int dx[4]={0,0,-1,1},dy[4]={-1,1,0,0};int dfs(int x,int y){if(f[x][y]) return f[x][y];f[x][y] = 1;for(int i = 0;i < 4; ++i) {int nx = dx[i] + x,ny = dy[i] + y;if(nx > 0 && ny > 0 && nx <= n && ny <= m && a[nx][ny] < a[x][y])f[x][y] = max(f[x][y],dfs(nx,ny) + 1);}return f[x][y];
}int main()
{cin>>n>>m;for(int i = 1;i <= n; ++i)for(int j = 1;j <= m; ++j)cin>>a[i][j];int ans = 0;for(int i = 1;i <= n; ++i)for(int j = 1;j <= m; ++j)ans = max(ans,dfs(i,j));cout<<ans<<endl;return 0;
}

AcWing 901. 滑雪(记忆化搜索)相关推荐

  1. POJ1088 滑雪 记忆化搜索

    滑雪 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 107548   Accepted: 40980 Description ...

  2. poj1088 滑雪 记忆化搜索

    我是渣渣 我是渣渣 ....记忆化搜索 看了学长的代码 和算法竞赛入门经典这本书才勉勉强强看懂点... #include <stdio.h> #include <string.h&g ...

  3. 【AcWing】数位统计DP、树形DP、状态压缩DP、记忆化搜索

    [AcWing]数位统计DP.树形DP.状态压缩DP.记忆化搜索 一.数位统计DP 二.状态压缩DP 三.树形DP 四.记忆化搜索 一.数位统计DP 计数问题 给定两个整数 a 和 b,求 a 和 b ...

  4. [P1434 [SHOI2002]滑雪](DFS,记忆化搜索)

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

  5. 【记忆化搜索】【线性化DP】滑雪 (ssl 1202/luogu 1434/pku 1088)

    滑雪滑雪滑雪 ssl 1202 luogu 1434 pku 1088 题目大意: 有一个N*M的矩阵,每个位置都有一个数,可以从大的数走向小的数,问可走的路最长是多少 原题 Michael喜欢滑雪百 ...

  6. POJ1088 Bailian1088 滑雪【DFS+记忆化搜索】

    滑雪 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 114685 Accepted: 43807 Description Mic ...

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

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

  8. 洛谷 P1434 [SHOI2002]滑雪(DP,记忆化搜索)

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

  9. 洛谷 P1434 [SHOI2002] 滑雪(优先队列+dp / 记忆化搜索)

    P1434 [SHOI2002] 滑雪https://www.luogu.com.cn/problem/solution/P1434 优先队列+dp 本题状态转移方程一目了然 为了保证状态间无后效性, ...

  10. POJ1088 滑雪 dp入门 记忆化搜索

    题意:给你一个r*c的矩阵,只能从图上数字大的地方滑向数字小的地方,问你一次性最多滑过多少个数字. 思路:记忆化搜索.顺序搜索,记录地图上每一个点出发所能达到的最远长度,若某一点标记过说明当前点的最远 ...

最新文章

  1. 【原创】StreamInsight查询系列(六)——基本查询操作之分组聚合
  2. 互联网体系结构(网络基础).教案
  3. Qt Creator连接通用远程Linux设备
  4. C/C++浮点数在内存中的存储方式
  5. display: inline-block 布局
  6. 计算机程序备份,将应用程序快照备份到计算机
  7. Java——异常(try...catch...finally)
  8. Python自定义时间间隔访问网页
  9. vs2017安装完成,但有错误。
  10. 21 , CSS 构造模型
  11. PHP修改防火墙ip,利用防火墙进行同网段下的ip地址欺骗
  12. 51单片机入门教程(2)——流水灯的实现
  13. 制作双系统U盘启动盘【Ventoy】
  14. linuxcentos6笔记
  15. 顶会最佳论文奖得主:初入科研领域,如何正确做科研?
  16. [导入]山寨也疯狂:前卫手表造型 Cool G108 Watch手机亮相
  17. 超声波塑料焊接电源发生器电控箱设计
  18. data analysis (summary next step)
  19. antd 每次打开modal 初始化数据
  20. vue实现消息badge 标记_Badge 标记

热门文章

  1. tf.map_fn 多输入
  2. tensorflow : gfile 函数
  3. linux执行jmeter脚本解决响应数据为空
  4. 手把手教你使用 Clion 开发 Linux C++ 项目
  5. Eclipse中Jar包的反编译(通过jar包查看源码)
  6. TensorFlow 资源大全中文版
  7. windows 域的安装方法
  8. 算法复习——数位dp(不要62HUD2089)
  9. Java:多线程,线程池,用Executors静态工厂生成常用线程池
  10. JavaScript保留关键字及危险变量名