问题描述

最长上升子序列(LIS):

给定长度为n的序列,从中选中一个子序列,这个子序列需要单调递增,请问最长子序列(LIS)的长度?

eg:1,5,2,3,11,7,9

则LIS序列为:1,2,3,7,9 长度为5

设计状态:

记f(x)为以a[x]为结尾的LIS长度,那么LIS=max{f(x)}

那么如何推到f(x)呢?

考虑比x小的每一个p,如果a[x] > a[p],那么f(x) = f(p) + 1

状态转移方程

f(x) = max{f(p)} + 1

a[x] = 1,5,3,4,8 x = 1 2 3 4 5

f(1) = 1

f(2) = f(1) +1 或者 0 +1 -------- > f(2) = 2

f(3) = f(1)+1 = 2 或者 0+1 = 2 -----》 f(3) = 2

f(4) = f(1) + 1 = 2 或者 f(3) + 1 = 3 或者 0+1 = 1 ------》 f(4) =3

f(5) = f(1) + 1 = 2 或者 f(2) + 1 = 3 或者 f(3) + 1 = 3 或者 f(4) + 1 = 4 或者 0+1 = 10+1 = 1

即最后的结果是4

代码如下:

那么哪些题目适合用DP算法解决呢?如何设计好的DP算法:

  1. 满足最优子结构

大问题可以由小问题推出,大问题与小问题求解思路一致

2. 满足无后效行

一旦f(n)确定,后续我们直接调用它的值就可以了,而不需要关心它是怎么过来的

3. 设计好状态

想办法把当前局面表达出来

4. 设计好状态转移方程

可以从两个方面考虑,我从哪里来,或者我到哪里去

5. 代码实现

最长上升子序列_动态规划 最长上升子序列LIS相关推荐

  1. 最长公共子序列php,动态规划(最长公共子序列LCS)

    概念 求解决策过程最优化的结果 (可能有多个) 把多阶段过程转化为一系列单阶段过程,利用各阶段之间的关系,逐个求解 计算过程中会把结果都记录下,最终结果在记录中找到. 举例 求两个字符串的最长公共子序 ...

  2. 动态数组怎么定义_动态规划最长回文子序列

    动态规划|最长回文子序列 今天一起来学习Leetcode第 516 题:最长回文子序列. 题目描述 题目分析 首先回文字符串指的是形如"a","aa",''ab ...

  3. php 长连接心跳_支持gRPC长链接,深度解读Nacos2.0架构设计及新模型

    作者 | 杨翊(席翁) Nacos PMC 来源|阿里巴巴云原生公众号 Nacos 简介 Nacos 在阿里巴巴起源于 2008 年五彩石项目,该项目完成了微服务拆分和业务中台建设,随着云计算和开源环 ...

  4. 电脑长截图软件_电脑屏幕长截图+WORD文档里没有插入PDF文件选项时怎么办? 简单一招轻松完成...

    111111        办 公 小 技 巧 在用电脑查看网页时,想把网页上的内容截下来,保存成一张图片,可是内容又不全在一屏里,不能简单的用截屏完成,这时怎么办? 想把一个PDF文件插入到WORD ...

  5. mysql 长轮询_基于HTTP长轮询实现简单推送

    应用场景:设备为安卓.PC以及服务器,要求PC端能够单向给移动端发送消息指令,安卓端解析消息,进行后续处理动作.其中安卓端为基于Phonegap开发,说白了,就是HTML+JS. 规模:正常应用为20 ...

  6. 形容等待时间长的句子_形容等待时间长的诗句

    1.飞来山上千寻塔,闻说鸡鸣见日升. 2.谁道人生无再少?门前流水尚能西!休将白发唱黄鸡. 3.志士惜年,贤人惜日,圣人惜时. 4.镜中已觉星星误.人不负春春自负. 5.人生百年有几,念良辰美景,休放 ...

  7. 耳下长包图片_耳朵后面长了个包,是什么?

    大概半个月前左右(耳垂)后面长了一个硬疙瘩,没注意,因为以前也长过,不用理多喝水自己就会好.没想到这一个发炎了,肿的特别大,而且超级痛,最疼的时候大笑牵动耳朵都会痛,我寻思着等它消消炎肿的不是那么严重 ...

  8. hwd分别是长宽高_奥德赛尺寸长宽高是多少

    奥德赛是本田旗下的一辆mpv汽车型号,这一款车的轴距为2900mm(毫米),长宽高分别是4847mm(毫米),1820mm(毫米),1702mm(毫米).新款奥德赛使用的是一套混合动力系统,这套动力系 ...

  9. 孙长银机器人_东南大学孙长银教授作学术报告“从“智能控制”到“控制智能”—— From Hype(忽悠)to Hope(希望)”...

    9月8日下午,自动化学院邀请东南大学孙长银教授作了题为"从"智能控制"到"控制智能"-- From Hype(忽悠)to Hope(希望)" ...

最新文章

  1. POJ2446 二分匹配
  2. 数据结构与算法书籍推荐
  3. 备忘录怎么用红笔标注_错题本的正确打开方法,你用对了吗?
  4. SpringBoot项目属性配置
  5. JQuery Datatables单元格内显示数据太长,截取部分显示功能
  6. 6-4-2:STL之list——list的模拟实现
  7. child pid xxx exit signal Segmentation fault (11)
  8. 每日一道算法题--leetcode 169--求众数--python--两种方法
  9. WinHTTP实现文件下载 C++程序
  10. 电阻中联分压电路的计算
  11. vs2017通过ODAC连接oracle11g
  12. XMU 1614 刘备闯三国之三顾茅庐(二) 【逆向思维+二维并查集】
  13. CAD等高线转地形高程散点
  14. Windows编程(2)
  15. 秀一波酷炫可视化大屏!
  16. 回顾在江西博微科技工作9个月回顾(吐槽)
  17. TextView里的setText方法
  18. python .py文件转exe和更换图标
  19. 北大igem生物计算机,iGEM介绍
  20. php获取当前周的起止日期,使用PHP实现获取周的起始和结束日期

热门文章

  1. freecodecamp_我在1个月内完成了整个freeCodeCamp课程(并记录了所有内容)
  2. golang 操作日期_使用Godate在Golang中轻松进行日期操作
  3. git 初始化git存储库_什么不保存到Git存储库中
  4. 计算机支持的游戏化教学,初中信息技术教学中游戏化教学的应用探究
  5. 存款利息python题_Python——GUI编程 利息计算器 作业9(python programming)
  6. python帮助文档在哪_python文档之查看帮助文档方法
  7. 动态HTML处理和机器图像识别
  8. 一个牛逼的coder是这样诞生的。
  9. 智能机维修暴利大起底:触摸屏成本30维修300元
  10. 数学与算法《TF-IDF》