关闭

完全背包

109人阅读 评论(0) 收藏 举报
完全背包是指 物品无限使用的,
所以在枚举的时候要将for循环用++的方式来枚举。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<cmath>
#include<algorithm>
using namespace std;
const int maxn=10010;
int s[maxn],t[maxn],dp[maxn];
int main(){
	memset(s,0,sizeof(s));
	memset(t,0,sizeof(t));
	memset(dp,0,sizeof(dp));
	int m,n,i,j,k;
	scanf("%d%d",&n,&m);
	for(i=1;i<=m;i++)
		scanf("%d%d",&s[i],&t[i]);
	for(i=1;i<=m;i++)
		for(int j=t[i];j<=n;j++)//与01背包的差别就在这里 
		dp[j]=max(dp[j],dp[j-t[i]]+s[i]);
	printf("%d",dp[n]);
	return 0;	
}

1
0
查看评论

完全背包总结

完全背包问题: 题目 有N种物品和一个容量为V的背包。第i种物品有若干件可用,每件费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。 基本思路:  这个问题和我们刚解决的01背包问题很像,不同的是该问题中的物品每一件有...
  • HowardEmily
  • HowardEmily
  • 2017-02-15 21:23
  • 2455

完全背包(装满)模板

完全背包 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描述 直接说题意,完全背包定义有N种物品和一个容量为V的背包,每种物品都有无限件可用。第i种物品的体积是c,价值是w。求解将哪些物品装入背包可使这...
  • xunalove
  • xunalove
  • 2017-05-04 10:28
  • 613

动态规划入门之完全背包

完全背包问题(UKP, unbounded knapsack problem):每种物品都有无限个可用   最简单思路就是把完全背包拆分成01背包,就是把01背包中状态转移方程dp[i][j]=dp[i-1][j-w[i]]+v[i]相应的做点修改,也就是说01背包只考虑放与不放进去两种情...
  • qq379666774
  • qq379666774
  • 2013-12-26 14:59
  • 1113

完全背包---动态规划

描述 直接说题意,完全背包定义有N种物品和一个容量为V的背包,每种物品都有无限件可用。第i种物品的体积是c,价值是w。求解将哪些物品装入背包可使这些物品的体积总和不超过背包容量,且价值总和最大。本题要求是背包恰好装满背包时,求出最大价值总和是多少。如果不能恰好装满背包,输出NO 输入第一行...
  • u013174702
  • u013174702
  • 2015-05-15 10:35
  • 719

二维完全背包

题目:hdu2159 题意:xhd升掉最后一级还需n的经验值,xhd还留有m的忍耐度,每杀一个怪xhd会得到相应的经验,并减掉相应的忍耐度。当忍耐度降到0或者0以下时,xhd就不会玩这游戏。xhd还说了他最多只杀s只怪。请问他能升掉这最后一级吗。 解答:把忍耐度看成容量,经验值看成是价值。由于限...
  • Sleppypot
  • Sleppypot
  • 2016-09-18 11:01
  • 617

hdu3127WHUgirls【二维完全背包】

Problem Description There are many pretty girls in Wuhan University, and as we know, every girl loves pretty clothes, so do they. One day some of the...
  • zhou_yujia
  • zhou_yujia
  • 2015-10-29 15:53
  • 321

完全背包问题讲解(dp)

此题之前先分析两种常见的背包问题,01背包与完全背包 01背包:在M件物品中取出若干件物品放到背包中,每件物品对应的体积v1,v2,v3,....对应的价值为w1,w2,w3,,,,,每件物品之多拿一件。 解决方案   考虑用动态规划的方法来解决,这里的:   阶段是:在前N件物品中,...
  • Yumerina
  • Yumerina
  • 2017-02-14 14:42
  • 1668

poj1014完全背包 hdu2191多重背包 经典二进制优化

多重背包或者完全背包转换成 01 背包问题就是多了个二进制优化 把它的件数C 用分解成若干个件数的集合 这里面数字可以组合成任意小于等于C 的件数,而且不会重复 之所以叫二进制分解,是因为这样分解可以用数字的二进制形式来解释 比如:7的二进制 7 = 111 它可以分解成 001 010 100 ...
  • Summer__show_
  • Summer__show_
  • 2016-05-25 20:32
  • 702

完全背包问题(二进制解法)

题目 有N件物品和一个容量为V的背包。第i件物品的重量是w[i]。求解将哪些物品装入背包可使这些物品的重量总和不超过背包容量的最大重量。 基本思路 首先,我想分析一下这个题目大暴力时,复杂度为什么为N^2。如果大暴力,本题目的预算次数实际为pow(2,n)-1。 初等数学思路(大佬请忽略):...
  • sdlwzzm19971226
  • sdlwzzm19971226
  • 2017-03-02 10:03
  • 553

(经典)POJ-3181 完全背包+大数处理

题目大意:给定N,K,用1-K组成N,一共有多少组合方法? 题目链接:点击打开链接 分析: 这题属于完全部分和问题,其实也可以理解为划分数问题。如n为3,k为2时,有 1+2 1+1+1  这2种方法,我们可以理解为用1和2去填满或者组成3,这样想便是完全背包可行...
  • AC_hell
  • AC_hell
  • 2016-05-14 16:26
  • 388
    个人资料
    • 访问:9484次
    • 积分:635
    • 等级:
    • 排名:千里之外
    • 原创:49篇
    • 转载:0篇
    • 译文:0篇
    • 评论:5条