我是个逗比。。。真心不是搞算法的料
不太中规中矩的分组背包,分组至少选一件商品。dp[i][j] 可以由当前dp[i-1][j-c] 和 dp[ i ][j-c]更新得到。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#pragma comment(link...
分类:
其他好文 时间:
2014-05-10 09:10:20
阅读次数:
301
http://acm.hdu.edu.cn/showproblem.php?pid=3033
大致题意:某人要买鞋子,有k种鞋,要求每种鞋至少买一双,给出每双鞋子的花费和价值,问m元钱可以买到的鞋子的最大价值是多少。
思路:分组背包问题。与传统的分组背包不同:每组物品至少取一件;且每组中物品任意取。
想一想传统的分组背包,每组至多选一件:
for 所有的组k
fo...
分类:
其他好文 时间:
2014-05-10 08:48:59
阅读次数:
325
类型一:可分割性的物品
此类型为贪心问题
背包问题
时间限制:3000 ms | 内存限制:65535 KB
难度:3
描述现在有很多物品(它们是可以分割的),我们知道它们每个物品的单位重量的价值v和重量w(1<=v,w<=10);如果给你一个背包它能容纳的重量为m(10<=m<=20),你所要做的就是把物品装到背包里,使背包里的物品的价值总和最大。
...
分类:
其他好文 时间:
2014-05-07 08:29:24
阅读次数:
343
题意:
给定n个物品 m元,k种商品
下面n行 tpye w v 表示物品的牌子,价格,价值(每个物品只有1件)
问:每个牌子至少买一件能获得的最大价值是多少
思路:分组背包
#include
#include
#include
#include
#include
using namespace std;
#define ll int
ll n, m, k;
l...
分类:
其他好文 时间:
2014-05-04 18:03:15
阅读次数:
248
C代码实现如下: 1 #include 2 #include 3 4 int** DP(int
num, int Weight, int*w, int *v); 5 void output(int *c, int *w, int weight, int
**ptr, int num)...
分类:
其他好文 时间:
2014-05-04 10:09:07
阅读次数:
269
HDU 3033 I love sneakers! (01背包+反分组背包)...
分类:
其他好文 时间:
2014-05-04 08:51:09
阅读次数:
229
01背包问题:1.递归思想0- 1 背包问题如果采用递归算法来描述则非常清楚明白,
它的算法根本思想是假设用布尔函数knap( s, n) 表示n 件物品放入可容质量为s 的背包中是否有解( 当knap
函数的值为真时说明问题有解,其值为假时无解) . 我们可以通过输入s 和n 的值, 根据它们的值...
分类:
其他好文 时间:
2014-05-03 23:03:32
阅读次数:
392
题意:给定背包体积与物品的体积与价值 求正好放完的最小价值#includeusing
namespace std;int min(int a,int b){ if(a>t; while(t--) {
cin>>m1>>m2; m=m2-m1; ...
分类:
其他好文 时间:
2014-05-03 22:37:20
阅读次数:
437