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