![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划
文章平均质量分 73
pikapikah
这个作者很懒,什么都没留下…
展开
-
动态规划--公共子序列LCS
一、问题描述: 求两个字符串的最长公共子串的长度。两个字符串X和Z的公共子串是指X中按序取一些字符构成的子串与在Z中按同样方法得到的一个子串相同。 例如:X=“abcdefghi” Z=“xyazdwf” 则”a” “d” “f” “ad” “df” “adf”都是它们的公共子串,而最长公共子串的长度为3。 二、状态空间: f(i, j)表示第一个字符串原创 2018-01-27 08:30:11 · 245 阅读 · 0 评论 -
动态规划--最长递增子序列LIS
要求输入一个数组a,求它的最长单调递增子序列解题动态规划dp数组完美解决dp[i]:以a[i]结尾的最长递增子序列的长度。初始化:dp[i]=1状态转移方程:dp[i] = max( dp[0…i-1] +1, dp[i] ).解释:对于dp[i],求a[i]结尾的最长递增子序列,在a[0..i-1]中选出比a[i]小且长度最长的dp[j] ;如果所有的 dp[0…i-1] ...原创 2018-05-19 10:15:02 · 226 阅读 · 0 评论 -
JSCPC2018 I. Longest Increasing Subsequence
I. Longest Increasing SubsequenceBobo has a sequence a1,a2,…,an. Let f(x) be the length of longest strictly increasing subsequence after replacing all the occurrence of 0 with x. He would like to ...原创 2018-05-19 11:22:19 · 511 阅读 · 2 评论 -
HDU 1024 Max Sum Plus Plus (动态规划 + 滚动数组)
题目链接题意求最大m字段和,给一个数组,把它分成m段,求分成m段的最大和题解首先明确使用动态规划二维的动态数组肯定是不可以的,会超内存,或超时。不过为了方便理解,还是得先来看一下二维动态数组的解题思路: dp[i][j] : 表示数组a的前 j 项分成 i 段,且第 j 项包含在第 i 段时的最大和那么对于a[j],有两种分配方案 要么和前 j-1 项共同组成这 i 段要...原创 2018-05-24 17:45:53 · 186 阅读 · 0 评论