wikioi 1014 装箱问题(背包)】的更多相关文章

题目描述 Description 有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n<=30),每个物品有一个体积(正整数). 要求n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小. 输入描述 Input Description 一个整数v,表示箱子容量 一个整数n,表示有n个物品 接下来n个整数,分别表示这n 个物品的各自体积 输出描述 Output Description 一个整数,表示箱子剩余空间. 样例输入 Sample Input 24 6…
来源:http://wikioi.com/problem/1014/ 1014 装箱问题 29人推荐 收藏 发题解 提交代码 报错 题目描写叙述 输入描写叙述 输出描写叙述 例子输入 例子输出 提示 题目描写叙述 Description 有一个箱子容量为V(正整数,0<=V<=20000),同一时候有n个物品(0<n<=30),每一个物品有一个体积(正整数). 要求n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小. 输入描写叙述 Input Description 一个整数v…
1014 装箱问题 2001年NOIP全国联赛普及组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解  查看运行结果     题目描述 Description 有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n<=30),每个物品有一个体积(正整数). 要求n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小. 输入描述 Input Description 一个整数v,表示箱子容量 一个整数n,表示有n个物品…
题目链接 算法:动态规划(01背包) 01背包思想:依次对待某一物体,考虑是否放入容量为V的背包中 用f[V]来表示容量为V的背包的最大价值,则决策是 f[V] = max{f[V], f[V-v[i]]+w[i]} (0 <= i <= n, V-v[i] >= 0) 解释:每一个物体i,只有两种选择,是否放入(放入后一定体积要等于容量V)容量为V的背包中,如果放入的话,那么就要比较现在容量为V的背包不放入i物体 与放入i物体到容量为V-v[i]的背包(价值即为f[V-v[i]]+w[…
#include<cstdio> #include<algorithm> using namespace std; ],f[]; int main() { scanf("%d%d",&m,&n); ;i<=n;i++) scanf("%d",&w[i]); ;i<=n;i++) for(int v=m;v>=w[i];v--) f[v]=max(f[v-w[i]]+w[i],f[v]); printf…
题目描述 Description 有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n<=30),每个物品有一个体积(正整数). 要求n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小. 输入描述 Input Description 一个整数v,表示箱子容量 一个整数n,表示有n个物品 接下来n个整数,分别表示这n 个物品的各自体积 输出描述 Output Description 一个整数,表示箱子剩余空间. 样例输入 Sample Input 24 6…
题意:给出价值为1,2,3,4,5,6的6种物品数量,问是否能将物品分成两份,使两份的总价值相等. 思路:求出总价值除二,做多重背包,需要二进制优化. 代码: #include<iostream> #include<cstdio> #include<cstring> using namespace std; int n[7]; int v,sum; bool flag; int dp[100000]; /*完全背包*/ void CompletePack(int cos…
多重背包模型  写的时候漏了一个等号找了半天 i<<=1 !!!!!! #include<iostream> #include<cstdio> #include<cstring> using namespace std; ]; ]; ]; int main(){ ; ; ])==){ ]; ; ;j<=a[];j<<){ m[flag++]=j; a[]-=j; } ])m[flag++]=a[]; ;i<n;i++){ scanf(…
题目描述 Description 有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n<=30),每个物品有一个体积(正整数). 要求n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小. 输入描述 Input Description 一个整数v,表示箱子容量 一个整数n,表示有n个物品 接下来n个整数,分别表示这n 个物品的各自体积 输出描述 Output Description 一个整数,表示箱子剩余空间. 样例输入 Sample Input 24 6…
二进制优化,事实上是物体的分解问题. 就是比方一个物体有数量限制,比方是13,那么就须要把这个物体分解为1. 2, 4, 6 假设这个物体有数量为25,那么就分解为1, 2, 4. 8. 10 看出规律吗,就是分成2的倍数加上位数,比方6 = 13 - 1 - 2 - 4, 10 = 25 - 1 - 2 - 4 - 8.呵呵,为什么这么分解? 由于这样分解之后就能够组合成全部1到13的数.为25的时候能够组合成全部1到25的数啦. 就是这么一个分解物体.最后组合的问题. 不明确? 给多几个数字…