完全背包问题题目:有N种物品和一个容量为v的背包,每种物品都有无限件可用。第i种物品的费用是c[i],价值是w[i]。求解将那些物品装入背包可使这些物品的费用总和不超过背包容量且价值最大。基本思路:这个问题非常类似于01背包问题,所不同的是每种物品无限件。也就是从每种物品的角度考虑,与他相关的策略已...
分类:
其他好文 时间:
2015-01-26 22:20:03
阅读次数:
183
二维的完全背包问题。
令dp[i][j]表示当x=i,y=j时的最小代价;
则:
dp[i][j]=min(dp[i][j],dp[i-wx[k]][j-wy[k]]+1);
至于方程的实现则可以仿照一维的背包问题写。
代码如下:
#include
#include
#include
#include
using namespace std;
int dp[33...
分类:
其他好文 时间:
2015-01-24 15:54:03
阅读次数:
244
题目大意:根据存钱罐中钱的重量,和每一种钱对应的重量和价值,判断钱能否塞满这个重量,如果能,输出得到的最小价值这个问题就是要把它和背包问题连接起来,这里钱取得数目是无穷的,所以这里只需要用到完全背包来解决问题在这里我们定义dp[i][j] 作为重量 j 的条件下,取前 i 中硬币塞满背包可得到的最小...
分类:
其他好文 时间:
2014-12-24 13:22:00
阅读次数:
91
背包问题最简单最粗暴的方法代码练习:#include//#define MIN -999999struct item//储存物品信息{ int value,weigh;//价值和重量};int main(){ int item_all,W_max;//item_all表示物体总数 W_...
分类:
其他好文 时间:
2014-12-20 22:01:53
阅读次数:
173
题目链接:HDOJ - 1171题目大意有 n 种物品,每种物品有一个大小和数量。要求将所有的物品分成两部分,使两部分的总大小尽量接近。题目分析令 Sum 为所有物品的大小总和。那么就是用给定的物品做完全背包,背包容量为 (Sum / 2) ,得到的结果是较小的一部分的大小。完全背包问题可以使用单调...
分类:
其他好文 时间:
2014-12-16 22:25:42
阅读次数:
177
有n种重量和价值分别为wi,vi的物品。从这些物品中挑选总重量不超过W的物品,求出挑选物品价值总和的最大值。每种物品可以挑选任意多件。令dp[i+1][j]:=从前i种物品中挑选总重量不超过j时总价值的最大值。那么递推关系为:根据递推关系编写代码: 1 void solve() 2 { 3 ...
分类:
其他好文 时间:
2014-11-15 18:39:53
阅读次数:
233
HDU Coins(多重背包)
http://acm.hdu.edu.cn/showproblem.php?pid=2844
题意:
现在有价值val[1],val[2],…val[n]的n种硬币, 它们的数量分别为num[i]个. 然后给你一个m, 问你区间[1,m]内的所有数目, 由之前n种硬币来构造(即选取某些硬币使得这些硬币的价值和等于[1,m]区间的特定数), 最多能构造出这m个数中的多少个?
分析:
基本的完全背包问题.
我们令dp[i][j]==x表示...
分类:
其他好文 时间:
2014-10-28 20:04:39
阅读次数:
205
HDU 4508 湫湫系列故事——减肥记I(完全背包)
http://acm.hdu.edu.cn/showproblem.php?pid=4508
题意:
有n种食物, 每种食物吃了能获得val[i]点幸福度和cost[i]点热量, 现在湫湫每天吃东西的热量不能超过m点. 问她最多能获得多少点幸福度?
分析:
基础的完全背包问题.
本题的限制条件是: 热量总量<=m
本题的目的条件是: 幸福度越大越好.
所以我们令dp[i][j]==x...
分类:
其他好文 时间:
2014-10-27 21:23:18
阅读次数:
192
UVA 357 Let Me Count The Ways(完全背包)
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=293
题意:
有5种硬币: 1分 5分 10分 25分 和50分. 现在给你一个面值n, 问你有多少种方法能利用上述硬币组合出n分的金钱.
分析:
典型的完全背包问题.
本题的限制条件: 硬币钱数正好等于n...
分类:
其他好文 时间:
2014-10-27 21:22:05
阅读次数:
246