![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划
文章平均质量分 79
Laaahu_
这个作者很懒,什么都没留下…
展开
-
动态规划———背包总结详解
01背包问题1.题目: 有N件物品和一个容量大小为V的背包,放入第i件物品的耗费是Vi,得到的价值是Wi,求解装入那些物品使得得到的价值最大。2.特点:每个物品只有一件只需要考虑这件物品有要不要放即可。3.dp数组及含义: 我们可以很容易想到的东西就是用一个二维数组去保存一下,dp[i][j] : 意义就是前 i 件物品恰好放入一个容量为 j 的背包可以获得的最大价值(这里的恰好放入不一定...原创 2019-10-16 20:55:58 · 284 阅读 · 1 评论 -
动态规划———最长公共子序列(LCS)
最长公共子序列;言简意赅就是在两个序列a,b里找同时是a,b两个序列的子序列并且相同的长度最长的那个。我们用一个二维的dp[i][k]去表示以a[i]结尾和以b[j]结尾的最长的公共子序列的长度。这样的话就可以很容易得到更新的dp[i][j]的方程。我们来理解这个方程为什么是这个样子的,dp[i][j]表示的是以a[i]结尾的子序列和以b[j]结尾的子序列的最长长度。那么,我们来想一...原创 2019-10-15 22:29:39 · 214 阅读 · 0 评论 -
动态规划———单调子序列相关
我们要区分一下子序列和字串。简单的来讲就是子序列是可以不连续但必须保证与给定的原数组相同的顺序,字串就是必须连续并且保证与给定的原数组顺序相同。我们讨论的主要是子序列。最长单调子序列以最长上升子序列为例,讨论最长单调子序列。① d[i] = max{ d[j] | j < i && a[j] < a[i] } + 1;很眼熟的一个状态转移方程,但是只会这...原创 2019-09-22 18:26:18 · 442 阅读 · 0 评论 -
Proud Merchants HDU - 3466(与顺序有关的01背包)
题目链接:vj里面的题目题意:n件商品每件商品有三个属性,p代表的价格,q代表你至少要有多少钱才可以买这个商品q>p, v代表的是这个商品的价值,总共有m的钱,问最多可以得到的商品价值之和是多少。思路:假设有A B 两个商品要买pa=5,qa=6;pb=5,qb=9,m=10;如果要从状态转移得到A是否购买,因为条件的限制关系所以 A 只有在 m=10,9,8,7,6时才会...原创 2019-09-27 20:00:03 · 134 阅读 · 0 评论