题目链接:http://poj.org/problem?id=1787题意:有4种货币分别是1元,5元,10元,20元。现在告诉你这四种货币分别有多少个,问你正好凑出P元钱最多可以用多少货币。每种货币要用多少钱。据说此题有完全背包的写法。。我是按照多重背包写的,速度也不是很慢。然后记录了下前驱。刚开...
分类:
其他好文 时间:
2014-10-25 00:53:32
阅读次数:
381
UVA 10306 e-Coins(完全背包)
题意:
对于每个样例,先给定两个数n,m,分别表示有n种硬币,对于每一种硬币有两个价值,分别记做x,y,题目要求从中选择一些硬币,使得满足m*m=X*X+Y*Y, 其中X是选出的硬币的所有x价值的和,Y是所有选出的硬币的y价值的和,硬币有无数多个,现在要求的是,满足上述要求使用的最少的硬币数....
分类:
其他好文 时间:
2014-10-24 22:24:21
阅读次数:
264
UVA 10465 Homer Simpson(完全背包: 二维目标条件)
题意:
有两种汉堡包,第一种吃一个需要花n分钟,第二种吃一个需要花m分钟. 现在你有t分钟的时间, 问你最少浪费几分钟不能吃汉堡(你每次要么完整的吃完一个汉堡,要么不吃). 当吃汉堡花费的时间达到最大时, 问你最多能吃几个汉堡?...
分类:
其他好文 时间:
2014-10-24 22:19:12
阅读次数:
219
FATE
题目大意:xhd要杀怪升级,他有一个忍耐值。每只怪都有一个经验值和需要
消耗的忍耐值。杀掉怪得到相应经验值,消耗掉相应忍耐值。 xhd最多能杀S
只怪,升级共需要N的经验值。若他的忍耐度掉到0,则他不会再玩游戏了。
输出他升完这一级,所能剩下最大的忍耐值。如果升不了级,则输出-1。
思路:背包中要存的东西肯定是经验,但是背包的容量不单是怪物数,还有忍
耐度。这样,把怪物数和忍耐度作为背包的二维容量。用两个循环,得到S个
怪,M容量值内得到的最高经验值。
最后遍历找出经验值高于升级经验值的最小消耗的...
分类:
其他好文 时间:
2014-10-23 16:25:00
阅读次数:
290
转自:http://blog.csdn.net/a601025382s/article/details/12308193题意:输入背包体积n,绿宝石体积s1,价值v1,蓝宝石体积s2,价值v2,宝石数目无限,问背包里能放下的最大价值?题解:看过去很像完全背包,可数据很大(虽然没给出,也能猜到,不然太...
分类:
其他好文 时间:
2014-10-21 11:52:03
阅读次数:
197
题目:有两种食物(数量无限)是Simpson喜欢的,每种食物都需要一个进食时间,现在他有时间t,
问能最多吃多少个食物,时间尽量用完,用不完求最小浪费时间情况下的最多能吃的实物数量。
分析:dp,完全背包。放满体积的背包,初始化除了f(0),均为 -oo,然后取正值即可。
说明:又见dp。
#include
#include
#include
#inclu...
分类:
其他好文 时间:
2014-10-15 18:39:41
阅读次数:
187
题目:给你6中面值的货币,统计组成1~100面值需要的最小平均货币数量,以及所有值中使用最多货币的数量。
分析:dp,搜索,松弛迭代。6种货币面值可能有负的。
解法1:可利用利用完全背包求解;
因为货币可能为负,所以可能是与超过100的面值“相加”的结果,所以扩大容量即可;
解法2:利用松弛迭代,松弛每种货币的使用基础...
分类:
其他好文 时间:
2014-10-09 14:56:34
阅读次数:
246
题目:统计一个数字可以有多少种立方和的表示方式。
分析:dp,完全背包。又见整数拆分。
说明:csdn冲进前1000了,(*^__^*) 嘻嘻……。
#include
#include
#include
using namespace std;
int cube[25];
long long F[10001];
int main()
{
for (int i = 0 ; i <...
分类:
其他好文 时间:
2014-10-07 15:13:43
阅读次数:
165
题目:四平方定理,输出一个数可以表示成不超过四个平方数和的表示方法数。
分析:dp,完全背包。整数拆分用背包,可用一维分步计算,也可统一写成二维。
状态:设f(i,j,k)为前i个数字,取j个数字他们的平方和是k的便是方法数;
转移:f(i,j,k)= sum(f(i-1,j-1,k-i*i));{ 其中i可以省掉不写 };
说明:打表计...
分类:
其他好文 时间:
2014-10-01 20:21:31
阅读次数:
175
题意:b(0
题目链接:http://poj.org/problem?id=1170
——>>已有b种物品,再将每种优惠分别看成一种新物品,剩下就是完全背包问题了。。
设dp[i]表示购买状态为 i 时的最少花费(关于购买状态:00032表示第0种物品买2个,第1种物品买3个),则状态转移方程为:
dp[i + product[j].nState] = min(dp[i + produc...
分类:
其他好文 时间:
2014-09-30 21:17:00
阅读次数:
243