P1130 红牌

思路如下

这一题很像数字金字塔,我们可以正着求最小时间,当然也可以逆着求最小时间,

  1. 如果正着求:那么我们怎么求状态转移方程呢?,在这里我们假定状态转移方程为:dp[ i ][ j ] ,i 表示第i行,j表示第j列,dp[ i ][ j ] 则表示从开始点(第一个步)到(i , j)这个位置所需要的最小的时间。当j > 1 && i > 1 的时候,我们考虑(i, j)这个位置是有那个位置转换过来的显然是由(i , j - 1)、(i - 1 , j)两个点走过来的,到底是着这两个点中的哪个点呢?,在这里我们直接通过min函数进行选择就行了,至此还有一些细节需要注意,当 i 表示是最第一行的时候我们要特殊考虑这一行的点是由哪些点转化过来的。
  2. 如果我们逆着求:其实思路跟正着求解差不多,只不过是逆着求解这个问题而已,那么我们仍然做假设dp[ i ][ j ] ,i 表示第i行,j表示第j列,dp[ i ][ j ] 则表示从(i , j)这个位置到终点(最后一步)所需要的最小的时间。这里当 i > 1 && i <M && j >= 1 && j < N 的时候,我们考虑dp[ i ][ j ] 是由那个状态转移而来,我们可以先考虑(i , j)这个点是经过“下一步”操作可以变成(i , j. + 1)、(i + 1 , j + 1)这两个点,由于是逆向思考,所以dp[ i ][ j ] 这个点的最优值是从dp[ i ][j + 1] 、 dp[i + 1][j + 1] 这两个

    P1130 红牌(动态规划)的更多相关文章

    1. 洛谷 P1130 红牌

      P1130 红牌 题目描述 某地临时居民想获得长期居住权就必须申请拿到红牌.获得红牌的过程是相当复杂 ,一共包括N个步骤.每一步骤都由政府的某个工作人员负责检查你所提交的材料是否符合条件.为了加快进程 ...

    2. 洛谷P1130 红牌

      题目描述 某地临时居民想获得长期居住权就必须申请拿到红牌.获得红牌的过程是相当复杂 ,一共包括N个步骤.每一步骤都由政府的某个工作人员负责检查你所提交的材料是否符合条件.为了加快进程,每一步政府都派了 ...

    3. P1130 红牌

      题目描述 某地临时居民想获得长期居住权就必须申请拿到红牌.获得红牌的过程是相当复杂 ,一共包括NN个步骤.每一步骤都由政府的某个工作人员负责检查你所提交的材料是否符合条件.为了加快进程,每一步政府都派 ...

    4. 洛谷——P1130 红牌

      题目描述 某地临时居民想获得长期居住权就必须申请拿到红牌.获得红牌的过程是相当复杂 ,一共包括N个步骤.每一步骤都由政府的某个工作人员负责检查你所提交的材料是否符合条件.为了加快进程,每一步政府都派了 ...

    5. 洛谷P1130红牌(简单DP)

      题目描述 某地临时居民想获得长期居住权就必须申请拿到红牌.获得红牌的过程是相当复杂 ,一共包括NNN个步骤.每一步骤都由政府的某个工作人员负责检查你所提交的材料是否符合条件.为了加快进程,每一步政府都 ...

    6. 题解 P1130 【红牌】

      逆推dp经典题目:数字三角形的折叠版 为什么这么说? 因为我们会发现:除了每一次都特判一下是否转换行号以外,剩下的思想没什么不同. 没看题目的看这里 先定义: n,m是步骤数目,小组数目 work[i ...

    7. Luogu【P1130】红牌(DP)

      欧拉 本蒟蒻第一个自己想出来的DP题 请移步题目链接 调了半天.i从1到n,j从1到m. f[i][j]表示的是第i道工序在第j个小组办完所花的最短时间. 因为要用到上一个状态,而上一个状态要么是同一 ...

    8. 【u120】红牌

      Time Limit: 1 second Memory Limit: 128 MB [问题描述] 某地临时居民想获得长期居住权就必须申请拿到红牌.获得红牌的过程是相当复杂 ,一共包括N个步骤.每一步骤 ...

    9. 增强学习(三)----- MDP的动态规划解法

      上一篇我们已经说到了,增强学习的目的就是求解马尔可夫决策过程(MDP)的最优策略,使其在任意初始状态下,都能获得最大的Vπ值.(本文不考虑非马尔可夫环境和不完全可观测马尔可夫决策过程(POMDP)中的 ...

    随机推荐

    1. nor flash之4字节地址模式

      背景 容量低于 16M bytes 的 nor,一般使用 3 字节地址模式,即命令格式是 cmd + addr[2] + addr[1] + addr[0] + ... 使用超过 16M bytes ...

    2. python学习记录_中断正在执行的代码,执行剪切板中的代码,键盘快捷键,魔术命令,输入和输出变量,记录输入和输出变量_

      2018-03-28 00:56:39 中断正在执行的代码 无论是%run执行的脚本还是长时间运行的命令ctrl + cIn [1]: KeyboardInterrupt 执行剪切板中的代码 ctrl ...

    3. 实验一 Linux系统与应用准备

      实验一 Linux系统与应用准备 项目 内容 作业归属 班级课程 作业要求 课程作业要求 学号-姓名 17041419-刘金林 作业学习目标 1.学习博客园软件开发者学习社区使用技巧和经验:2.学习M ...

    4. Python 获取MySql某个表所有字段名

      在使用python导出数据库中数据的时候,往往除了插入的数据以外,还有表字段等信息需要导出,查阅了资料后发现了2种方法 第一种:在mysql自带的表里查询,这个表保存了每张表的字段信息,可以用pymy ...

    5. CVPR 2020 全部论文 分类汇总和打包下载

      CVPR 2020 共收录 1470篇文章,根据当前的公布情况,人工智能学社整理了以下约100篇,分享给读者. 代码开源情况:详见每篇注释,当前共15篇开源.(持续更新中,可关注了解). 算法主要领域 ...

    6. ggplot2(1) 简介

      1.1 简介 ggplot2是一个用来绘制统计图形(数据图形)的R软件包,与其他大多数的图形软件包不同,ggplot2是由其背后的一套图形语法所支持的.ggplot2可以绘制出很多美观度的图形,同时能 ...

    7. (转)协议森林14 逆袭 (CIDR与NAT)

      协议森林14 逆袭 (CIDR与NAT) 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! IPv4由于最初的设计原因,长度只有32 ...

    8. 面向对象里is-a和has-a的含义

      面向对象的核心思想是:抽象.封装.继承.多态.在实践中用的最多的术语就是 is a(是一个) ,和 has a(有一个).其实他们的意思很简单,对应面向对象设计中的两种形态继承.组合. 一.继承( i ...

    9. Zend Studio 13.6.1 汉化及安装方法详解

      Zend Studio 13.6.1是一套专业开发人员使用的集成开发环境 (IDE),具备功能强大的专业编辑工具和调试工具,支持PHP语法加亮显示,支持语法自动填充功能,支持书签功能,支持语法自动缩排 ...

    10. .NET的资源并不限于.resx文件

      为了构建一个轻量级的资源管理框架以满足简单的本地化(Localization)的需求,我试图直接对现有的Resource编程模型进行扩展.虽然最终没能满足我们的需求,但是这两天也算对.NET如何进行资 ...