
动态规划入门
蛋淡的忧伤
小xuo生
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
动态规划的简单例题(2)
上一篇:动态规划的简单例题(1)题目:D点有一个过河卒,需要走到目标B点。卒行走规则:可以向下、或者向右。同时在棋盘上的任一点有一个对方的马(如下图的C点),该马所在的点和所有跳跃一步可达的点称为对方马 的控制点,例如下图的C点上的马可以控制9个点(图中的P1,P2,……P8和C),卒不能通过对方马的控制点。棋盘用坐标表示,A点(0,0)、B点(n,m)C点(Cx,Cy)(0<C...原创 2019-01-28 13:11:10 · 576 阅读 · 0 评论 -
洛谷 P1616 疯狂的采药
题目描述LiYuxiang是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同种类的草药,采每一种都需要一些时间,每一种也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最...原创 2019-05-15 22:13:34 · 121 阅读 · 0 评论 -
洛谷 P1049 装箱问题
题目描述有一个箱子容量为VV(正整数,0 \le V \le 200000≤V≤20000),同时有nn个物品(0<n \le 300<n≤30,每个物品有一个体积(正整数)。要求nn个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。输入输出格式输入格式:11个整数,表示箱子容量11个整数,表示有nn个物品接下来nn行,分别表示这nn个物品的各自体...原创 2019-05-15 20:46:30 · 200 阅读 · 0 评论 -
洛谷 P1048 采药
题目描述辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。”如果你是...原创 2019-05-15 20:15:51 · 171 阅读 · 0 评论 -
洛谷 P1164 小A点菜
题目背景uim神犇拿到了uoi的ra(镭牌)后,立刻拉着基友小A到了一家……餐馆,很低端的那种。uim指着墙上的价目表(太低级了没有菜单),说:“随便点”。题目描述不过uim由于买了一些辅(e)辅(ro)书,口袋里只剩MM元(M \le 10000)(M≤10000)。餐馆虽低端,但是菜品种类不少,有NN种(N \le 100)(N≤100),第ii种卖a_iai元(a_i ...原创 2019-05-15 19:04:03 · 130 阅读 · 0 评论 -
洛谷 P1060 开心的金明(动态规划)
题目描述金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过NN元钱就行”。今天一早金明就开始做预算,但是他想买的东西太多了,肯定会超过妈妈限定的NN元。于是,他把每件物品规定了一个重要度,分为55等:用整数1-51−5表示,第55等最重要。他还从因特网上查到了每件物品的价格...原创 2019-05-15 15:58:11 · 235 阅读 · 0 评论 -
LIS--最长上升子序列
最长上升子序列,又称LIS,是动态规划的一个经典应用。在原序列取任意多项,不改变它们在原来数列的先后次序,得到的序列称为原序列的子序列。最长上升子序列,就是给定序列的一个最长的、数值从低到高的子序列,最长上升子序列不一定是唯一的。输入样例:82 1 5 3 6 4 6 3输出样例:4解释:它的最长上升子序列为1,3,4,6和2,3,4,6,长度均为4...原创 2019-05-14 10:13:49 · 217 阅读 · 0 评论 -
多重背包动态规划及空间优化
题目描述:有n种物品,第 i 种物品的价值是vai,体积时voi,个每种物品的数量是有限的,为cnti现有容量为w的背包,请你放入若干物品,爱总体积不超过w的条件下,使总价值尽可能大 解题思路:可以按01背包问题的思路解决,其实01背包问题就是特殊情况下的多重背包可以每次把cnti个物品逐个拆分,转化为01背包状态转移方程为:dp[i][j] = max( dp[i...原创 2019-02-12 13:09:37 · 258 阅读 · 0 评论 -
01背包动态规划空间优化
问题描述:给定 n 种物品和一个容量为 w 的背包,物品 i 的价值是 vai,其体积为 voi。问:应该如何选择装入背包的物品,使得装入背包中的物品的总价值最大? 解题思路:状态转移方程为:dp[i][j] = dp[i-1][j] j < vo[i] (即...原创 2019-02-12 11:35:28 · 267 阅读 · 0 评论 -
求最长公共子串
求最长公共子串的长度如 dcabceh 和 abcedhf 的最长公共子串为abce,长度为4 状态转移方程为: #include<iostream>#include<string.h>#include<algorithm>using namespace std;int m...原创 2019-02-09 14:45:57 · 201 阅读 · 0 评论 -
LCS---最长公共子序列
求最长公共子序列的长度如abcfbc和abfcab的最长公共子序列为:abfb,长度为4将S1的前 i 个字符与S2的前 j 个字符的最长公共子序列长度记为lcs[i][j]状态转移方程为:#include<iostream>#include<string>#include<algorithm>using namespace...原创 2019-02-09 13:53:25 · 176 阅读 · 0 评论 -
动态规划的简单例题(1)
下一篇:动态规划的简单例题(2)题目:蒜头君要回家,如图所示,蒜头君在左下角位置,家在右上角位置。蒜头君走上一个格子会花费一定的体力(每个格子上的数字表示蒜头君要花费的体力值)。每一步蒜头君只能走到上面或右面的与当前相邻的一个格子。蒜头君想知道他回到家需要花费的最少体力值是多少?解题思路:蒜头君只能走到上面或右面的与当前相邻的一个格子,所以到家的前一步只有两种情况:...原创 2019-01-28 14:09:38 · 1899 阅读 · 0 评论 -
最长上升子串
给定一个数组求其最长上升子串输入样例:63 2 4 5 3 6输出样例:3解释:子串区别于子序列,子序列不要求连续,子串要求连续#include<cstdio>#include<algorithm>using namespace std;int dp[100];int main(){ int n,list[100],ans=...原创 2019-05-16 20:41:03 · 2422 阅读 · 0 评论