摘要: 题目链接:https://www.luogu.org/problemnew/show/P1508 好迷的一道题啊,一开始题意没理解,原来起点是最后一行的下方,而不是在最后一行上。顺推比较麻烦,不容易写,我比较懒,改成了倒推,以后看哪个简单就用哪个吧。呃呃,其实这道题和数字三角形很相似,不过每次需要考 阅读全文
posted @ 2018-09-09 12:09 Mr^Kevin 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://www.luogu.org/problemnew/show/P1282 花了好长时间终于写出了这道题,主要是状态转移方程比较奇葩,类似于背包问题,难以想到。 呃呃,写得DP不多,对于如何想出状态转移方程还没什么心得,主要是往之前见过的模型上靠。这道题的话,其实可以稍微转化一 阅读全文
posted @ 2018-09-08 15:43 Mr^Kevin 阅读(374) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://www.luogu.org/problemnew/show/P1140 语文很重要!!!如果题目意思都不理解,怎么可能写出正解?!两个序列都可以插空位!两个序列都可以插空位!两个序列都可以插空位! 其实如果写过最长公共子序列,这道题简直就是水题(考察阅读理解)。在这里放一波 阅读全文
posted @ 2018-09-07 23:36 Mr^Kevin 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 本题在洛谷上的链接:https://www.luogu.org/problemnew/show/P1880 本来以为是一道简单的区间DP问题,草草地写了个程序结果样例都没过,仔细一看,原来n堆石子摆成了环。区间DP是线性DP的一种,写法比较固定,一般是先枚举区间长度,再枚举区间左端点,推出区间右端点 阅读全文
posted @ 2018-09-07 07:41 Mr^Kevin 阅读(117) 评论(0) 推荐(0) 编辑
摘要: 坑! 题目链接:https://www.luogu.org/problemnew/show/P1280 哎呀呀,好好的一道DP题,太伤心了。。。 思路很快有了,可以定义dp[i]为以第i个任务为结尾的方案中,花费时间最短的。从小到大枚举j,要求满足p[j]+t[j]<=p[i]&&p[j]+t[j] 阅读全文
posted @ 2018-09-06 18:22 Mr^Kevin 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 本题在洛谷上的链接:https://www.luogu.org/problemnew/show/P1091 水题。。。没啥好说的,求一遍正向的最长上升子序列和一遍逆向的最长上升子序列就可以了。 唯一需要注意的是,求最长上升子序列之类的那种O(n^2)算法中,定义dp[i]是指以第i个元素为结尾的最长 阅读全文
posted @ 2018-09-06 17:22 Mr^Kevin 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 本题在洛谷上的链接:https://www.luogu.org/problemnew/show/P1020 动态规划经典模型中有一类最长上升(不上升等等)子序列问题,这道题目算是对这一知识点的综合考察和拓展。以最长上升子序列为例,最简单易懂的做法是,定义状态dp[i]表示以第i个元素为结尾的最长上升 阅读全文
posted @ 2018-09-06 07:43 Mr^Kevin 阅读(582) 评论(0) 推荐(1) 编辑
摘要: 嗯,改编自那道经典的01背包问题——采药。 题目链接:https://www.luogu.org/problemnew/show/P1616 与之间的采药不同,这里每种草药有无限多个,通常把这类问题称为完全背包问题。 每种草药并不唯一,会有若干个被放入背包,虽然看起来比01背包复杂很多,但实际上,他 阅读全文
posted @ 2018-09-05 23:16 Mr^Kevin 阅读(439) 评论(0) 推荐(0) 编辑
摘要: 又是一道经典的背包问题,在洛谷上的链接:https://www.luogu.org/problemnew/show/P1064 和01背包不同的是,物品之间存在依赖关系,要想购买附件就必须购买主件,所以就可以这样想,从{主件,主件+附件1,主件+附件2,主件+附件1+附件2}中选择一个物品放入背包, 阅读全文
posted @ 2018-09-05 10:23 Mr^Kevin 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 虽然也是一道dp的入门题,但就是想不到,或者说不会实现。dp还是要多做题。 链接:https://www.luogu.org/problemnew/show/P1164 我们可以设dp[i][j]表示以考虑完第i件,恰好消费j元的方案数。那么dp[i][j]=dp[i-1][j]+dp[i-1][j 阅读全文
posted @ 2018-09-05 00:26 Mr^Kevin 阅读(111) 评论(0) 推荐(0) 编辑