洛谷P1049 装箱问题(01背包小变形)
2018-04-03 16:18
288 查看
题目描述
有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n<=30,每个物品有一个体积(正整数)。要求n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。输入输出格式
输入格式:一个整数,表示箱子容量一个整数,表示有n个物品接下来n行,分别表示这n 个物品的各自体积输出格式:
一个整数,表示箱子剩余空间。
输入输出样例
输入样例#1: 复制24 6 8 3 12 7 9 7输出样例#1: 复制
0
说明
NOIp2001普及组 第4题先求每个背包的最大可以放入的重量,此题中重量和价值是等价的f【j】=max(dp【j】,dp【j-w【i】】+w【i】)然后答案是T-dp【T】#include<stdio.h>
#include<iostream>
#include<algorithm>
using namespace std;
int V;
int n;
int w[31];
int dp[20002];
int main()
{
//freopen("1.txt", "r", stdin);
cin >> V >> n;
for (int i = 1; i <= n; i++)
cin >> w[i];
for (int i = 1; i <= n;i++)
for (int j = V; j >= w[i]; j--)
dp[j] = max(dp[j], dp[j - w[i]] + w[i]);
cout << V - dp[V];
return 0;
}
相关文章推荐
- 夕拾算法进阶篇:18)装箱问题 (01背包_动态规划DP)
- hdu 1574 RP问题 01背包的变形
- 最大报销额(动态规划:01背包问题变形)
- 又见01背包——南阳理工题库(背包问题变形)
- codevs天梯 装箱问题 水01背包
- 洛谷Oj-装箱问题-简化的01背包
- HDU 1574 RP问题(01背包变形)
- P1049装箱问题(背包,变形)
- 51Nod-正整数分组(01背包变形)
- 01背包问题
- 01背包问题 hnust_xiehonghao的总结
- 01背包、完全背包、多重背包问题分析
- 夕拾算法进阶篇:17)01背包和完全背包问题 (动态规划DP)
- hdu2955 01背包变形 菜鸟见谅
- 背包问题01图文附带代码,非常清晰
- 01背包问题Java实现
- POJ 3211 Washing Cloths(01背包变形)
- poj2184(01背包变形)
- 【算法】贪心算法之背包与装箱问题
- 01背包问题