来源:http://wikioi.com/problem/1014/

1014 装箱问题

题目描写叙述 Description

有一个箱子容量为V(正整数,0<=V<=20000),同一时候有n个物品(0<n<=30),每一个物品有一个体积(正整数)。

要求n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。

输入描写叙述 Input Description

一个整数v,表示箱子容量

一个整数n,表示有n个物品

接下来n个整数,分别表示这n 个物品的各自体积

输出描写叙述 Output Description

一个整数,表示箱子剩余空间。

例子输入 Sample Input

24

6

8

3

12

7

9

7

例子输出 Sample Output

0

题意:略。

题解: 简单动归、0-1背包

AC代码:

#include<cstdio>
#include<cstring>
int v[35],map[35][20002],volume,n;
int dp(int i,int m){
if(~map[i][m]) return map[i][m];
if(i){
if(m<v[i]) return map[i][m]=dp(i-1,m);
else return map[i][m]=dp(i-1,m)>dp(i-1,m-v[i])+v[i] ?map[i][m]=dp(i-1,m):dp(i-1,m-v[i])+v[i];
}
else if(m<v[i]) return map[i][m]=0;
else return map[i][m]=v[i];
}
int main(){
memset(map,-1,sizeof(map));
scanf("%d%d",&volume,&n);
for(int i=0;i<n;i++)
scanf("%d",&v[i]);
printf("%d\n",volume-dp(n,volume));
return 0;
}

wikioi 1014 装箱问题的更多相关文章

  1. wikioi 1014 装箱问题(背包)

    题目描述 Description 有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n<=30),每个物品有一个体积(正整数). 要求n个物品中,任取若 ...

  2. 1014 装箱问题 CODE[VS]

    1014 装箱问题 2001年NOIP全国联赛普及组  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解  查看运行结果     题目描述 Descripti ...

  3. 【wikioi】1014 装箱问题

    题目链接 算法:动态规划(01背包) 01背包思想:依次对待某一物体,考虑是否放入容量为V的背包中 用f[V]来表示容量为V的背包的最大价值,则决策是 f[V] = max{f[V], f[V-v[i ...

  4. Codevs 1014 装箱问题

    题目描述 Description 有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n<=30),每个物品有一个体积(正整数). 要求n个物品中,任取若 ...

  5. codevs 1014 装箱问题 2001年NOIP全国联赛普及组

    题目描述 Description 有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n<=30),每个物品有一个体积(正整数). 要求n个物品中,任取若 ...

  6. 【动态规划】【零一背包】CODEVS 1014 装箱问题 2001年NOIP全国联赛普及组

    #include<cstdio> #include<algorithm> using namespace std; ],f[]; int main() { scanf(&quo ...

  7. [NOIP复习]第三章:动态规划

    一.背包问题 最基础的一类动规问题.相似之处在于给n个物品或无穷多物品或不同种类的物品,每种物品仅仅有一个或若干个,给一个背包装入这些物品,要求在不超出背包容量的范围内,使得获得的价值或占用体积尽可能 ...

  8. 【codevs1014/1068】背包型动态规划

    分析: 状态转移方程: v[j]=max(v[j],v[j-a[i]]+a[i]) (j ← tol downto a[i]) /* 作者:flipped 题目:p1014 装箱问题 */ #incl ...

  9. [wikioi]装箱问题

    http://wikioi.com/problem/1014/ 01背包问题是最经典的动态规划之一,这道题目甚至是这其中还简单的一种,因为价值就是本身的重量了.本来比如,w是总重量限制,v[]是每个的 ...

随机推荐

  1. 【C++】第二章:Hello World!

    1.开发工具:Microsoft Visual C++ v6.0 2.通过IDE建立Hello World程序: 我们可以看到三个文件夹结构,分别是: Source Files(源文件). Heade ...

  2. cocos2d-x环境的搭建之xcode-本人亲历成功搭建!

    cocos2d-x环境的搭建之xcode-本人亲历成功搭建! 写给大家的前言,在学习cocos2d-x的时候自己走了很多的弯路,也遇到了很多很多问题,不管是简单的还是困难的现在都慢慢的一步一步克服了, ...

  3. lsh341999的资源

    懒得下载了,仔细研究: http://download.csdn.net/user/lsh341999/uploads/2

  4. 分布式消息系统jafka快速起步(转)

    Jafka 是一个开源的/性能良好的分布式消息系统.在上一篇文章中有所简单介绍.下面是一篇简单的入门文档.更多详细的文档参考wiki. Step 1: 下载最新的安装包 完整的安装指南在这里.最新的发 ...

  5. 基于visual Studio2013解决C语言竞赛题之1027 YN

          题目 解决代码及点评 /* 计算Yn的值,直到|Yn - Yn-1|<10-6为止,并打印出此时共作了多少次COS计算. 提示:Yn+1=COS(Yn),故本 ...

  6. HDU 3468 BFS+二分匹配

    九野的博客,转载请注明出处 http://blog.csdn.net/acmmmm/article/details/10966383 开始建图打搓了,参考了大牛的题解打的版本比较清爽,后来改的基本雷同 ...

  7. 监听手机晃动(摇一摇)SensorEventListener

    import android.content.Context; import android.hardware.Sensor; import android.hardware.SensorEvent; ...

  8. QT在构造函数中退出程序

    原地址:http://www.tuicool.com/articles/RZnYze 在QT的界面类的构造过程中,如果想退出整个程序,暴力的做法是调用exit(-1)进行,另外一种不是那么暴力的方式如 ...

  9. Swift - 使用相机拍摄照片

    1,打开相机拍照 通过设置图片控制器UIImagePickerController的来源为UIImagePickerControllerSourceType.Camera,便可以打开相机 1 2 3 ...

  10. Rationnal Rose2003安装并破解

    1.安装Rational Rose2003时,在需选择安装项的时候,只选择Rational Rose EnterPrise Edition即可,不需选择其他项,之后选择“DeskTop Install ...