动态规划----背包
文章平均质量分 75
非著名de
这个作者很懒,什么都没留下…
展开
-
POJ NO.1014 Dividing(多重背包,典例)
问题描述: 有分别价值为1,2,3,4,5,6的6种物品,输入6个数字,表示相应价值的物品的数量,问一下能不能将物品分成两份,是两份的总价值相等,其中一个物品不能切开,只能分给其中的某一方,当输入六个0是(即没有物品了),这程序结束,总物品的总个数不超过20000 题目链接:POJ NO.1014 思路: 一道很经典的多重背包题目。 如果价值总和为奇数那么不可能平分,直接输出Can'原创 2016-03-05 14:59:02 · 310 阅读 · 0 评论 -
HDU NO.1114 Piggy-Bank(完全背包变形,01背包的另一种形式)
问题描述: 一个存钱罐能装一定重量的硬币,现在给你几组数据,每组数据有两个整数构成, 第一个整数表示硬币的金额,第二个表示重量。问存钱罐在不超载的情况下能装 多少金额的硬币。 输入数据: 3 //总共有多少个测试案例 10 110 //存钱罐的净重和最大承载量 2 // 有两种硬币 1 1 // 金额为1,重量为1 30 50 代码: #include #include原创 2016-03-05 14:47:07 · 405 阅读 · 0 评论 -
POJ NO.2063 Investment(完全背包,典例)
问题描述: 给你一笔金额,你要将这比金额去投资,现在有t种股票,每种股票都有一个价值和年收益,问你如何投资在n年后的最大收益。 每一年投资后都要以利润连同本金继续投资下一年。 测试数据: 1 //有多少组测试数据 10000 4 //10000代表初始金额,4代表4年之后的最大收益 2 //有两种股票 4000 400 //接下来2行,每行分别代表每种原创 2016-03-05 09:54:30 · 496 阅读 · 0 评论 -
HDU NO.2546 饭卡(区间贪心)
问题描述: Description 电子科大本部食堂的饭卡有一种很诡异的设计,即在购买之前判断余额。如果购买一个商品之前,卡上的剩余金额大于或等于5元,就一定可以购买成功(即使购买后卡上余额为负),否则无法购买(即使金额足够)。所以大家都希望尽量使卡上的余额最少。 某天,食堂中有n种菜出售,每种菜可购买一次。已知每种菜的价格以及卡上的余额,问最少可使卡上的余额为多少。原创 2016-02-27 15:45:52 · 462 阅读 · 0 评论 -
HDU NO.1160 FatMouse's Speed(“最长上升子序列”,记录路径)
问题描述: 老鼠的速度跟其体重成反比,也就是体重越大速度越慢。 问题是让你找出尽量多的反例,然后第一行输出一共有多少个反例(假如是n个),剩下输出其原先的序号。 这些个反例必须是按照体重升序,速度降序,保证n尽量大。 题目链接:HDU NO.1160 FatMouse's Speed 代码: #include #include using namespace std; #define原创 2016-03-12 11:37:50 · 359 阅读 · 0 评论 -
UVA NO.624 CD(打印路径,简单背包问题)
问题描述: 问题很简单,给你几组数据,每组数据开头给你的一个整数,问如何选择 其他元素使和最接近该整数。 题目链接:UVA NO.624 思路: 其实这个题是一个很简单的01背包问题,只不过多了一个打印路径的条件, 贴出这个题的目的就是为了方便以后回顾打印路径方面的问题。 代码: #include #include #include #include #include #inclu原创 2016-02-27 15:55:30 · 533 阅读 · 2 评论