
算法-动态规划
文章平均质量分 73
动态规划
zp1008611
这个作者很懒,什么都没留下…
展开
-
1252_0-1背包问题
题目描述一个旅行者有一个最多能装MMM公斤的背包,现在有nnn件物品,它们的重量分别是W1,W2,...,WnW_1,W_2,...,W_nW1,W2,...,Wn,它们的价值分别为C1,C2,...,CnC_1,C_2,...,C_nC1,C2,...,Cn,求旅行者能获得最大总价值。输入第一行:两个整数,MMM(背包容量,M≤200M\leq200M≤200)和NNN(物品数量,N≤30)N\leq30)N≤30)输入样例10 42 13 34 57 9输出样例12原创 2021-11-19 10:45:47 · 212 阅读 · 0 评论 -
区间DP_石子合并
石子合并设有 N 堆石子排成一排,其编号为 1,2,3,…,N。每堆石子有一定的质量,可以用一个整数来描述,现在要将这 N 堆石子合并成为一堆。每次只能合并相邻的两堆,合并的代价为这两堆石子的质量之和,合并后与这两堆石子相邻的石子将和新堆相邻,合并时由于选择的顺序不同,合并的总代价也不相同。例如有 4 堆石子分别为 1 3 5 2, 我们可以先合并 1、2 堆,代价为 4,得到 4 5 2, 又合并 1,2 堆,代价为 9,得到 9 2 ,再合并得到 11,总代价为 4+9+11=24;如果第二步原创 2021-12-22 15:42:01 · 103 阅读 · 0 评论 -
硬币问题_动态规划
硬币问题现有若干枚硬币,硬币面值分别为1,5,11.要凑出价值为w,至少需要多少枚硬币。比如说w=15.如果按照贪心的思维:我们每次选取面值最大的硬币去尝试,15=1∗11+4∗115=1*11+4*115=1∗11+4∗1所以,凑出价值w=15,至少需要的硬币数为1+4=5枚。但是,实际上我们只需要取3枚面值为5的硬币,就可以搞定。所以,此题,贪心思维,不靠谱!分析记凑出价值n所需要的最少硬币数为f(n)f(n)f(n)那么可以得到下面这个表:可见f(n)f(n)f(n)只与f(n−原创 2021-12-30 00:04:37 · 1684 阅读 · 0 评论