最长上升子序列_动态规划 最长上升子序列LIS
问题描述
最长上升子序列(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算法:
- 满足最优子结构
大问题可以由小问题推出,大问题与小问题求解思路一致
2. 满足无后效行
一旦f(n)确定,后续我们直接调用它的值就可以了,而不需要关心它是怎么过来的
3. 设计好状态
想办法把当前局面表达出来
4. 设计好状态转移方程
可以从两个方面考虑,我从哪里来,或者我到哪里去
5. 代码实现
最长上升子序列_动态规划 最长上升子序列LIS相关推荐
- 最长公共子序列php,动态规划(最长公共子序列LCS)
概念 求解决策过程最优化的结果 (可能有多个) 把多阶段过程转化为一系列单阶段过程,利用各阶段之间的关系,逐个求解 计算过程中会把结果都记录下,最终结果在记录中找到. 举例 求两个字符串的最长公共子序 ...
- 动态数组怎么定义_动态规划最长回文子序列
动态规划|最长回文子序列 今天一起来学习Leetcode第 516 题:最长回文子序列. 题目描述 题目分析 首先回文字符串指的是形如"a","aa",''ab ...
- php 长连接心跳_支持gRPC长链接,深度解读Nacos2.0架构设计及新模型
作者 | 杨翊(席翁) Nacos PMC 来源|阿里巴巴云原生公众号 Nacos 简介 Nacos 在阿里巴巴起源于 2008 年五彩石项目,该项目完成了微服务拆分和业务中台建设,随着云计算和开源环 ...
- 电脑长截图软件_电脑屏幕长截图+WORD文档里没有插入PDF文件选项时怎么办? 简单一招轻松完成...
111111 办 公 小 技 巧 在用电脑查看网页时,想把网页上的内容截下来,保存成一张图片,可是内容又不全在一屏里,不能简单的用截屏完成,这时怎么办? 想把一个PDF文件插入到WORD ...
- mysql 长轮询_基于HTTP长轮询实现简单推送
应用场景:设备为安卓.PC以及服务器,要求PC端能够单向给移动端发送消息指令,安卓端解析消息,进行后续处理动作.其中安卓端为基于Phonegap开发,说白了,就是HTML+JS. 规模:正常应用为20 ...
- 形容等待时间长的句子_形容等待时间长的诗句
1.飞来山上千寻塔,闻说鸡鸣见日升. 2.谁道人生无再少?门前流水尚能西!休将白发唱黄鸡. 3.志士惜年,贤人惜日,圣人惜时. 4.镜中已觉星星误.人不负春春自负. 5.人生百年有几,念良辰美景,休放 ...
- 耳下长包图片_耳朵后面长了个包,是什么?
大概半个月前左右(耳垂)后面长了一个硬疙瘩,没注意,因为以前也长过,不用理多喝水自己就会好.没想到这一个发炎了,肿的特别大,而且超级痛,最疼的时候大笑牵动耳朵都会痛,我寻思着等它消消炎肿的不是那么严重 ...
- hwd分别是长宽高_奥德赛尺寸长宽高是多少
奥德赛是本田旗下的一辆mpv汽车型号,这一款车的轴距为2900mm(毫米),长宽高分别是4847mm(毫米),1820mm(毫米),1702mm(毫米).新款奥德赛使用的是一套混合动力系统,这套动力系 ...
- 孙长银机器人_东南大学孙长银教授作学术报告“从“智能控制”到“控制智能”—— From Hype(忽悠)to Hope(希望)”...
9月8日下午,自动化学院邀请东南大学孙长银教授作了题为"从"智能控制"到"控制智能"-- From Hype(忽悠)to Hope(希望)" ...
最新文章
- POJ2446 二分匹配
- 数据结构与算法书籍推荐
- 备忘录怎么用红笔标注_错题本的正确打开方法,你用对了吗?
- SpringBoot项目属性配置
- JQuery Datatables单元格内显示数据太长,截取部分显示功能
- 6-4-2:STL之list——list的模拟实现
- child pid xxx exit signal Segmentation fault (11)
- 每日一道算法题--leetcode 169--求众数--python--两种方法
- WinHTTP实现文件下载 C++程序
- 电阻中联分压电路的计算
- vs2017通过ODAC连接oracle11g
- XMU 1614 刘备闯三国之三顾茅庐(二) 【逆向思维+二维并查集】
- CAD等高线转地形高程散点
- Windows编程(2)
- 秀一波酷炫可视化大屏!
- 回顾在江西博微科技工作9个月回顾(吐槽)
- TextView里的setText方法
- python .py文件转exe和更换图标
- 北大igem生物计算机,iGEM介绍
- php获取当前周的起止日期,使用PHP实现获取周的起始和结束日期
热门文章
- freecodecamp_我在1个月内完成了整个freeCodeCamp课程(并记录了所有内容)
- golang 操作日期_使用Godate在Golang中轻松进行日期操作
- git 初始化git存储库_什么不保存到Git存储库中
- 计算机支持的游戏化教学,初中信息技术教学中游戏化教学的应用探究
- 存款利息python题_Python——GUI编程 利息计算器 作业9(python programming)
- python帮助文档在哪_python文档之查看帮助文档方法
- 动态HTML处理和机器图像识别
- 一个牛逼的coder是这样诞生的。
- 智能机维修暴利大起底:触摸屏成本30维修300元
- 数学与算法《TF-IDF》