题目:UVA - 10280Old Wine Into New Bottles(完全背包+剪枝)
题目大意:现在要将旧酒装入新瓶中,每种瓶子都有最小最大的容量要求,然后给你L升酒,在给你N个瓶子,每中瓶子的规格说明也给你,每个种类的瓶子的供应是无限的,问怎样子安排这些酒才能使得剩余的酒最少。
解题思路:这题是完全背包的题目,但是一开始就被这题的数据吓到,10^9ML,然后还...
完全背包问题 解决方法 跟初级硬币问题递推法 很相似,只需将1改成 对应的数值。
value 背包价值, v体积, n种背包, 体积不超过V,最大价值。
void WKnapsack(int *value, int* v, int n, int V)
{
int d[1000];
memset(d, 0, sizeof(int)*1000);
for(int i = ...
分类:
其他好文 时间:
2014-08-30 08:51:13
阅读次数:
218
01完全背包问题。
主要是求有多少种组合。二维dp做的人多了,这里使用一维dp就可以了。
一维的转换方程:dp[j] = dp[j-i] + dp[j];其中i代表重量,j代表当前背包容量。
意思就是dp[j-i] 代表j-i背包重量的时候最多的组合数,那么如果到了背包容量为j的时候,就是可以把第i个物品装进背包,那么就有dp[j-i]种装法,
如果没有i物品之前,那么容量为j的...
分类:
其他好文 时间:
2014-08-29 13:11:27
阅读次数:
142
在hihocoder上面两期的题目,一个01背包问题,一个完全背包问题。总结一下!...
分类:
其他好文 时间:
2014-08-27 10:58:17
阅读次数:
187
A - Investment Time Limit:1000MS Memory Limit:30000KB 64bit IO Format:%I64d & %I64uSubmit Status Practice POJ 2063Description John never knew he had a...
分类:
其他好文 时间:
2014-08-27 10:37:37
阅读次数:
254
1 /* 2 题意:给你不同面额的硬币(每种硬币无限多),需要找零的面值是T,用这些硬币进行找零, 3 如果T恰好能被找零,输出最少需要的硬币的数目!否则请输出剩下钱数最少的找零方案中的最少硬币数! 4 5 思路:转换成完全背包的问题! 6 */ 7 #incl...
分类:
其他好文 时间:
2014-08-25 22:39:14
阅读次数:
237
大水题,凑数恰好装满的完全背包求最大最小价值复习:完全背包从小到大枚举,恰好装满初始化要为无穷大正负分别考虑 1 #include 2 #include 3 #include 4 #include 5 #define INF 11111111 6 using namespace std; ...
分类:
其他好文 时间:
2014-08-24 23:30:13
阅读次数:
280
题目:uva147 - Dollars(完全背包)
题目大意:给出11种硬币,然后给出一个数字,问可以有多少方式由上面的给的硬币凑出。这里要注意精度误差,题目可能会给出20.005这样的数据,虽然我觉得这是不合法的数据,但是但是会给,并且还需要你向上取整。
解题思路:完全背包。
代码:
#include
#include
const int N = 11;
c...
分类:
其他好文 时间:
2014-08-23 21:41:31
阅读次数:
218
??
题意 霍默辛普森吃汉堡 有两种汉堡 一中吃一个需要m分钟 另一种吃一个需要n分钟 他共有t分钟时间
要我们输出他在尽量用掉所有时间的前提下最多能吃多少个汉堡 如果时间无法用完 输出他吃的汉堡数和剩余喝酒的时间
很明显的完全背包问题 求两次 一次对个数 一次对时间就行了 时间用不完的情况下就输出时间的
d1为个数的 d2为时间的 dt保存时间
...
分类:
其他好文 时间:
2014-08-23 11:25:50
阅读次数:
216
完全背包 1 #include 2 #include 3 #include 4 using namespace std; 5 #define maxn 505 //刚开始不小心打成105了、、、只有75,改成505,就100了 6 #define maxm 100005 7 int need[m.....
分类:
其他好文 时间:
2014-08-23 02:19:49
阅读次数:
152