
动态规划-完全背包
文章平均质量分 60
JeraKrs
本人目前就职于百度商业研发部,有需要内推的朋友简历可发我邮箱 jerakrs@qq.com
展开
-
hdu 4508 湫湫系列故事――减肥记I(完全背包)
对于吃货来说,过年最幸福的事就是吃了,没有之一! 但是对于女生来说,卡路里(热量)是天敌啊! 资深美女湫湫深谙“胖来如山倒,胖去如抽丝”的道理,所以她希望你能帮忙制定一个食谱,能使她吃得开心的同时,不会制造太多的天敌。 当然,为了方便你制作食谱,湫湫给了你每日食物清单,上面描述了当天她想吃的每种食物能带给她的幸福程度,以及会增加的卡路里量。 Input原创 2013-08-01 00:11:44 · 1518 阅读 · 0 评论 -
uva 10280 - Old Wine Into New Bottles(完全背包)
题目链接:10280 - Old Wine Into New Bottles题目大意:现在有L升酒,以及n种酒瓶,现在给出每种酒瓶的最小容量和最大容量,每种酒瓶可以使用无限多次,问,怎样装酒,可以使得剩下的酒(即未能装进酒瓶中的酒)最少,输出最小值。解题思路:刚开始直接背包,结果超时了,看了别人题解才知道要剪很大的枝,这里推荐一篇题解写的很仔细。http://blog.原创 2013-09-25 08:59:20 · 2190 阅读 · 0 评论 -
uva 10306 - e-Coins(完全背包)
题目链接:10306 - e-Coins原创 2013-09-17 21:03:06 · 1764 阅读 · 0 评论 -
uva 10313 Pay the Price(完全背包)
题目连接:10313 - Pay the Price题目大意:有0~300这300种价值的金额。 现在可能给出参数:1个:n, 输出可以组成价值n的方式的个数。2个:n, a输出用价值小于a的价值组成价值n的方式的个数。3个:n, a, b输出用价值大于a和小于b组成价值n的方式的个数。解题思路:完全背包的问题, 状态转移方程dp[i][j] = dp[i原创 2013-09-13 14:01:52 · 1579 阅读 · 0 评论 -
uva 147 Dollars(完全背包)
题目连接:147 - Dollars题目大意:有11种硬币, 现在输入一个金额, 输出有多少种组成方案。解题思路:uva 674 的升级版,思路完全一样, 只要处理一下数值就可以了。#include #include const int N = 30005;const int val[11] = {5, 10, 20, 50, 100, 200, 500,原创 2013-09-05 15:51:40 · 1401 阅读 · 0 评论 -
uva 11137 Ingenuous Cubrency(完全背包)
题目连接:11137 - Ingenuous Cubrency题目大意:由21种规模的立方体(r 1~21),现在给出一个体积, 要求计算可以用多少种方式组成。解题思路:完全背包, 和uva674是一样的, 只是这里的体积是r ^ 3。 #include #include const int N = 10005;long long dp[N];void原创 2013-09-11 00:28:32 · 2143 阅读 · 0 评论 -
uva 10465 Homer Simpson(完全背包)
题目连接:10465 - Homer Simpson题目大意:有两种汉堡包, 给出吃汉堡的时间, 再给出总的时间, 尽量不浪费给出的时间,输出能最多吃的汉堡个数, 如果一定需要浪费时间, 输出浪费时间最少的时刻内能吃的最多汉堡个数, 并再后面输出浪费掉的时间。解题思路:因为汉堡可以无限制的使用, 所以相当于是完全背包问题,dp[i]就是代表在i分钟之内最多能吃多少汉堡(时间原创 2013-09-10 21:23:02 · 1424 阅读 · 0 评论 -
uva 10404 Bachet's Game(完全背包)
题目连接:10404 - Bachet's Game题目大意:由一堆石子, 给出石子的总数, 接下来由stan和ollie两个人玩游戏,给出n, 在给出n种取石子的方法(即为每次可取走石子的数量),由stan先,两人轮流取走石子,最后一个将石子全部去完的人胜利,问, 给出的一堆石子, 两人均按最好的方案游戏, 最后将会是谁胜 ?解题思路:问题可以看做是一个完全背包的变形原创 2013-09-11 00:06:44 · 4914 阅读 · 0 评论 -
uva 674 Coin Change(完全背包)
题目连接:674 - Coin Change题目大意:有5种硬币, 面值分别为1、5、10、25、50,现在给出金额,问可以用多少种方式组成该面值。解题思路:每种硬币都有无限个,所以是典型的完全背包, 一开始写的时候没有考虑到面值的重复问题, 打表的时候将金额值逐一去计算, 但又使用到cnt[i] += cnt[i - sex[j]], 然后导致有些组成方式重复考虑进去(原创 2013-09-04 09:07:41 · 2914 阅读 · 1 评论 -
hdu 5534 Partial Tree(完全背包)
题目链接:hdu 5534 Partial Tree解题思路首先度的总和为2(n-1),并且每个节点度不为0。如果用二维dp[i][j]表示第i个节点还剩j个度的最优值,是没问题,但是复杂度为o(n3)o(n^3)。但是其实每个节点都要分配一个度,那么我们先给每个节点分配一个度,剩下n-2的度分给n个点,可以减掉一维,dp[i]表示i个度的最优值,因为度的个数是严格小于节点个数的。背包转移的权值为v原创 2015-11-02 10:42:40 · 2170 阅读 · 0 评论