动态规划粗浅理解及LCS思路
来源:互联网 发布:淘宝信誉提升 编辑:程序博客网 时间:2024/05/01 13:10
动态规划 常用方法是递归,递归的本质是原问题拆解成子问题
原问题(N)->子问题(N-1)->原问题(N)
动态规划两个性质
1:最优子结构
子问题的最优决策可导出原问题最优决策
N-1 可以推出N
无后效性
2:重叠子问题 去除冗余 空间换时间
套路 关键词:
最优,最大,最小,最长,计数
都是离散问题
四个步骤 :
设计暴力算法,找到冗余
设计并存储状态
递归式
自底向上
最长公共子序列长度 (LCS)
题目解释 :一个给定序列的子序列是在该序列中删去若干元素后得到的序列 空序列也是,顺序是不变的
* 给定两个序列X和Y,当另一序列Z既是X的子序列又是Y的子序列时,称Z是序
列X和Y的公共子序列
* 最长公共子序列
* X=(A,B,C,B,D,A,B) Y=(B,D,C,A,B,A)
* (B,C,B,A) (B,D,A,B)
* Z 子序列
* X[n]
* Y[m]
* search(n, m)
i, j 一共可以选择四种移动方法
search(i, j) #明显
search(i-1, j)
search(i, j-1)
search(i-1, j-1)
* int search(int i, int j){ #i, j 是指X, Y的下标从 n,m 进行搜索
if(i == 0 || j == 0)
return 0;
* 决策:
* return max (if(x[i] == y[j])
* search(i-1, j-1) + 1 #因为x[i] 和y[i]相等 , search(i-1, j) , search(i, j-1)
- 动态规划粗浅理解及LCS思路
- 动态规划之LCS
- 动态规划 LCS
- 动态规划中LCS
- 动态规划 LCS,LIS
- 动态规划--LCS
- 动态规划:LCS
- 动态规划--LCS计算
- 动态规划(三.LCS)
- 动态规划-LCS
- LCS 经典题及变式的小结【动态规划】
- 动态规划入门之LCS
- LCS的动态规划算法
- 动态规划解LCS问题
- POJ1458 动态规划 (LCS,水)
- 动态规划之LCS问题
- 动态规划——LCS
- LCS问题求解-动态规划
- elk(1)-趁离职总结下我前公司elk方案
- leetcode解题之 Combination Sum java 版(组合求和)
- Docker下centos6 + mha全记录
- SpringMVC和Mybatis的整合
- 简单读取dataSource.properties配置文件
- 动态规划粗浅理解及LCS思路
- From Word Embeddings To Document Distances
- 一维数组的移动
- git 客户端解决冲突文件
- Failed to read candidate component class: file [F:\eclipse neon\.metadata\.plugins\org.eclipse.wst.s
- Find All Numbers Disappeared in an Array
- 六、简单查询、条件查询、排序
- 对fork()函数的初步认识
- 【taotao】图片服务器的搭建