题意:输出最长下降路径的长度。

解法:f[i][j]表示结尾于(i,j)的最长的长度。由于无法确定4个方位已修改到最佳,所以用递归实现。

 1 #include<cstdio>
2 #include<cstdlib>
3 #include<cstring>
4 #include<iostream>
5 using namespace std;
6 #define Maxn 110
7
8 int a[Maxn][Maxn],f[Maxn][Maxn];
9 int n,m;
10
11 int ffind(int i,int j)
12 {
13 if (!i || !j || i>n || j>m) return 0;
14 if (!f[i][j])
15 {
16 int x=1;
17 if (a[i][j]<a[i-1][j]) x=max(x,ffind(i-1,j)+1);
18 if (a[i][j]<a[i][j-1]) x=max(x,ffind(i,j-1)+1);
19 if (a[i][j]<a[i+1][j]) x=max(x,ffind(i+1,j)+1);
20 if (a[i][j]<a[i][j+1]) x=max(x,ffind(i,j+1)+1);
21 f[i][j]=x;
22 }
23 return f[i][j];
24 }
25 int main()
26 {
27 scanf("%d%d",&n,&m);
28 for (int i=1;i<=n;i++)
29 for (int j=1;j<=m;j++)
30 scanf("%d",&a[i][j]);
31 memset(f,0,sizeof(f));
32 int ans=0;
33 for (int i=1;i<=n;i++)
34 for (int j=1;j<=m;j++)
35 {
36 f[i][j]=ffind(i,j);
37 ans=max(ans,f[i][j]);
38 }
39 printf("%d\n",ans);
40 return 0;
41 }

【noi 2.6_90】滑雪(DP)的更多相关文章

  1. NOI.ac #31 MST DP、哈希

    题目传送门:http://noi.ac/problem/31 一道思路好题考虑模拟$Kruskal$的加边方式,然后能够发现非最小生成树边只能在一个已经由边权更小的边连成的连通块中,而树边一定会让两个 ...

  2. 【BZOJ 2436】 2436: [Noi2011]Noi嘉年华 (区间DP)

    2436: [Noi2011]Noi嘉年华 Description NOI2011 在吉林大学开始啦!为了迎接来自全国各地最优秀的信息学选手,吉林大学决定举办两场盛大的 NOI 嘉年华活动,分在两个不 ...

  3. Poj_1088_滑雪(DP)

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

  4. BZOJ 2436 Noi嘉年华(优化DP)

    题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=2436 题意:有一些活动,起始时间持续时间已知.有两个场地.每个活动最多只能在一个场地举行 ...

  5. POJ - 1088 滑雪 dp

    http://bailian.openjudge.cn/practice/1088?lang=en_US 题解: 设一个dp[N][N]数组代表从(i,j)坐标开始能滑到的最远距离.更新的方法为 遍历 ...

  6. poj 1088 滑雪 DP(dfs的记忆化搜索)

    题目地址:http://poj.org/problem?id=1088 题目大意:给你一个m*n的矩阵 如果其中一个点高于另一个点 那么就可以从高点向下滑 直到没有可以下滑的时候 就得到一条下滑路径 ...

  7. poj1088 滑雪 dp+dfs记忆化

    简单的搜索,不必多说了,初始状态下每个点能到达的长度是1,它本身.还有,注意关掉文件重定向,被坑好多次了. 代码如下: #include<cstdio> #include<algor ...

  8. NOI Online 游戏 树形dp 广义容斥/二项式反演

    LINK:游戏 还是过于弱鸡 没看出来是个二项式反演,虽然学过一遍 但印象不深刻. 二项式反演:有两种形式 一种是以恰好和至多的转换 一种是恰好和至少得转换. 设\(f_i\)表示至多的方案数 \(g ...

  9. 7.1 NOI模拟赛 计数问题 dp

    还是可以想出来的题目 不过考场上没有想出来 要 引以为戒. 初看觉得有点不可做 10分给到了爆搜. 考虑第一个特殊情况 B排列为1~m. 容易发现A排列中前m个数字 他们之间不能产生交换 且 第k个数 ...

随机推荐

  1. 搞定面试官:咱们从头到尾再说一次 Java 垃圾回收

    接着前几天的两篇文章,继续解析JVM面试问题,送给年后想要跳槽的小伙伴 万万没想到,面试中,连 ClassLoader类加载器 也能问出这么多问题..... 万万没想到,JVM内存区域的面试题也可以问 ...

  2. HBASE Shell基本命令

    定义 HBASE是一种分布式.可扩展.支持海量数据存储的NoSQL数据库. HBASE数据模型 逻辑上,HBASE的数据模型同关系型数据库类似,数据存储到一张表中,有行有列,但是从HBASE的底层物理 ...

  3. 训练分类器 - 基于 PyTorch

    训练分类器 目前为止,我们已经掌握了如何去定义神经网络.计算损失和更新网络中的权重. 关于数据 通常来讲,当你开始处理图像.文字.音频和视频数据,你可以使用 Python 的标准库加载数据进入 Num ...

  4. 创建Django REST framework工程

    1.创建工程虚拟环境 2.创建工程目录和调整目录结构: 创建Django的项目 创建docs 用于存放一些说明文档资料 创建scripts 用于存放管理脚本文件 创建logs 用于存在日志 在与项目同 ...

  5. 《UML与设计原则》--第四小组

    关于设计模式与原则 一.设计模式简介 设计模式描述了软件设计过程中某一类常见问题的一般性的解决方案.而面向对象设计模式描述了面向对象设计过程中特定场景下.类与相互通信的对象之间常见的组织关系. 二.G ...

  6. WinForm中实现按Enter将光标移动到下一个文本框

    首先窗体加载出来是上面这个样子.有五个文本框,我们要实现的功能就是输入姓名后按Enter,使光标直接定位到手机号中. 在页面加载的时候我们就要获取所有文本框控件,并添加回车事件 private voi ...

  7. Markdown 编辑器+同步预览+文件笔记管理+静态博客 metadata 管理

    Leanote: 1. 笔记管理, 支持富文本, markdown, 写作模式.... 编辑器绝对好用. 另外特意为coder制作了一个贴代码的插件, 真是太贴心(因为作者也是coder) 2. 博客 ...

  8. Avoid catching exceptions inside atomic! You may need to manually revert model state when rolling back a transaction. 避免异常程序不抛错误 回滚 导致 自增id不连续。

    https://docs.djangoproject.com/en/3.0/topics/db/transactions/ You may need to manually revert model ...

  9. pycharm创建文件夹以及查看源文件存放位置(FOR MAC)

    1.首先我们打开pycharm软件,一般首次打开界面如下 2.我们点击creat new project,点击后效果如下,此时创建相应的文件夹 3.创建完成后如下,并可以查看存放文件夹的位置 4.完成 ...

  10. Java8新特性_四大内置核心函数式接口

    Consumner : 消费型接口 Supplier :供给型接口 Function:函数式接口 Predicate:断言型接口 其他接口: 四大内置核心函数式接口: Consumner : 消费型接 ...