【问题描述】 有N种物品和一个容量为w的背包,第i种物品最多有m[i]件可用,每件容量是c[i],价值是v[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。【输入】 第一行 正整数n和w 以下n行,每行三个正整数为物品的容量、价值和件数,中间用空格隔开。【输出】最大...
分类:
其他好文 时间:
2014-06-28 10:57:02
阅读次数:
249
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4563题意:一个点开始在原点。有n个命令。第i个命令施加到这个点时,这个点的速度为(Vxi,Vyi),即在x方向的速度为Vxi,在y方向的速度为Vyi。并且这个命令施加到点时之前的速度全部消失。每种命令最...
分类:
其他好文 时间:
2014-06-23 06:16:16
阅读次数:
174
题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1042题意:给出四种面值的硬币c1,c2,c3,c4。n个询问。每次询问用d1、d2、d3、d4个相应的硬币能够拼出多少种总和为s?思路:(1)首先,用完全背包求出f[i]表示四种硬币的数量...
分类:
其他好文 时间:
2014-06-23 00:48:28
阅读次数:
486
1 #include "iostream" 2 using namespace std; 3 4 float MAX(float m1,float m2){ 5 if(m1>=m2) 6 return m1; 7 else 8 return m2;...
分类:
其他好文 时间:
2014-06-21 16:05:31
阅读次数:
205
题目:有n种物品,每种物品都有无限件可用。第i种物品的体积是vi,重量是wi。选一些物品装到一个容量为C的背包中,使得背包内物品在总体积不超过C的前提下重量尽量大。
分析,完全背包问题,相对于上上篇文章的硬币问题,只是由DAG上的无权图变成了这里的DAG上的带权图!
输出最后满足体积不超过背包容量的条件下,背包中的最大重量。
代码:
#include
#include
using...
分类:
其他好文 时间:
2014-06-16 11:59:00
阅读次数:
221
题意:裸的多重背包,水题。
解法:和完全背包一样,只不过加一个数组,记录着每个物品用过的次数,多于存储量时就pass不更新。
还有一种方法是将每个物品用二进制压缩处理,第一个代码比较简单;
代码:/******************************************************
* author:xiefubao
*******...
分类:
其他好文 时间:
2014-06-15 09:14:06
阅读次数:
223
这个题目给定一棵树,以及树的每个树枝的苹果数量,要求在保留K个树枝的情况下最多能保留多少个苹果一看就觉得是个树形DP,然后想出 dp[i][j]来表示第i个节点保留j个树枝的最大苹果数,但是在树形过程中,有点难表示转移后来看了下大神的做法才知道其实可以用背包来模拟 树枝的去留,其实真的是个背包诶,每...
分类:
移动开发 时间:
2014-06-15 07:48:55
阅读次数:
244
当初第一次做的是FPLICE这个题,当时就觉得要用图论去搜索,但是当时陷入死思维就是 dp[][]两个维度都是点,这样就违背了题目的本意,题目给定了一个时间T,在不超过时间T的情况下求最小的消耗,这不就是背包嘛。。。即拿T做容量,在图上面 设置 dp[i][j]表示i点的时候 j时间的最小消耗。这样...
分类:
其他好文 时间:
2014-06-14 23:18:41
阅读次数:
298