Loading

随笔分类 -  动态规划专项

摘要:题目链接 https://www.acwing.com/problem/content/900/ 题目思路 这道题我们可以从最底层考虑,若要使当前路径之和最大,选择当前的所选值加左上/右上之和最大即可 因为有负数情况,所以要把边界设置好 题目代码 #include <iostream> #inclu 阅读全文
posted @ 2022-04-06 14:52 vacilie 阅读(24) 评论(0) 推荐(0) 编辑
摘要:题目链接 https://www.acwing.com/problem/content/5/ 题目思路 多重背包问题的进阶版 因为数据量大,所以不能用三重循环以及二维数组 所以可以将物品的体积和价值利用二进制形式存起来 然后再进行一维优化即可 题目代码 #include <iostream> #in 阅读全文
posted @ 2022-04-01 11:00 vacilie 阅读(20) 评论(0) 推荐(0) 编辑
摘要:题目链接 https://www.acwing.com/problem/content/4/ 题目思路 完全背包问题进阶版 每种物品有了数量限制,所以需要判断要拿多少当前物品,其他与完全背包问题类似 题目代码 #include <iostream> #include <algorithm> usin 阅读全文
posted @ 2022-04-01 10:29 vacilie 阅读(22) 评论(0) 推荐(0) 编辑
摘要:题目链接 https://www.acwing.com/problem/content/3/ 题目思路 01背包进阶版,每种物品有无限个 所以就是将每种物品的体积和价值存下来,然后遍历每种物品,在当前体积的限制下求可拿物品的价值最优解 题目代码 #include <iostream> #includ 阅读全文
posted @ 2022-03-31 19:57 vacilie 阅读(20) 评论(0) 推荐(0) 编辑
摘要:题目链接 https://www.acwing.com/problem/content/2/ 题目思路 梦开始的地方,01背包的每个物品只可以选一次 DP思想:“最后” 每次考虑的是最后是否为最优解,从最后一步的最优解向前推,推出每一步的最优解。 01背包就是判断每步是拿当前物品和不拿当前物品的价值 阅读全文
posted @ 2022-03-31 19:46 vacilie 阅读(17) 评论(0) 推荐(0) 编辑
摘要:题目链接 https://www.luogu.com.cn/problem/P1048 题目思路 经典01背包问题,每一步的状态为拿当前物品和不拿当前物品的价值最大值 #include <iostream> #include <algorithm> using namespace std; cons 阅读全文
posted @ 2022-03-30 19:48 vacilie 阅读(120) 评论(0) 推荐(0) 编辑
摘要:题目链接 https://www.acwing.com/problem/content/1017/ 题目思路 本题是经典的线性DP 如上图所示,每一步的最优解即为上一步的最大值加当前地方花生数 题目代码 #include <iostream> #include <algorithm> using n 阅读全文
posted @ 2022-03-30 19:36 vacilie 阅读(46) 评论(0) 推荐(0) 编辑