Codevs p1014 装箱问题


题目描述 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


分析

由题目可以得出该题是明显的背包问题,其价值和体积均为物体的体积。那么假如前i-1件物品已经考虑完毕,那么现在我们需要考虑第i件物品,现在我们有两种选择,选第i件物品,那么就要付出选第i件物品所需要的代价即空间,同时获得第i件物品所具有的价值,由于要体积剩余最小,现在体积即为价值,也即是要价值最大,由此剩余的体积最小。这样我们可以得出方程
f[j]表示空间为j时的总价值
f[j]:=max(f[j],f[j-v[i]+c[i]])此处c[i]即为v[i]因为体积既是价值又是体积 其第二个f[j]实际表示f[i-1,j];因为不选第i件物品,那么就意味着与前i-1件物品用j个空间价值是相同的,由于体积循环是从大到小,那么当推大的时小的还没有计算,由此可以保证每件只选一次


代码如下


program p1014;
var i,j,v,n:longint;vx:array[1..31] of longint;f:array[0..10000] of longint;
function max(a,b:longint):longint;
beginif a>b then exit(a);exit(b);
end;beginreadln(v);readln(n);for i:=1 to n doreadln(vx[i]);for i:=1 to n dofor j:=v downto vx[i] dobeginf[j]:=max(f[j],f[j-vx[i]]+vx[i]);end;write(v-f[v]);
end.

评测结果

测试通过 Accepted
总耗时: 4 ms
0 / 0 数据通过测试.
运行结果
测试点#t41.in 结果:AC 内存使用量: 256kB 时间使用量: 0ms
测试点#t42.in 结果:AC 内存使用量: 256kB 时间使用量: 0ms
测试点#t43.in 结果:AC 内存使用量: 256kB 时间使用量: 0ms
测试点#t44.in 结果:AC 内存使用量: 256kB 时间使用量: 0ms
测试点#t45.in 结果:AC 内存使用量: 256kB 时间使用量: 4ms

不知写啥。。。

Codevs p1014 装箱问题相关推荐

  1. CodeVs天梯黄金Gold题解

    title: CodeVs天梯之Gold date: 2017-12-28 tags: 天梯 CodesVs categories: OI CodeVs天梯之Gold 2018.01.04 By gw ...

  2. [ CodeVS冲杯之路 ] P1116

    不充钱,你怎么AC? 题目:http://codevs.cn/problem/1116/ 数据很小,DFS可A,每层枚举颜色,判断相邻的点是否有重复的颜色,记得回溯时把颜色染回0,即无颜色 这里我使用 ...

  3. 【贪心】【codevs】1214 线段覆盖

    http://codevs.cn/problem/1214/ 我去这个题...wa的我都没脾气了... 我写while(~scanf("%d", &n))竟然是不对的... ...

  4. [codevs 1913] 数字梯形问题

    [codevs 1913] 数字梯形问题 题解: 本题就是加强版的 [codevs 1033] 蚯蚓的游戏问题. 分别针对三个规则建图.运行最小费用最大流. 规则1:从梯形的顶至底的m条路径互不相交. ...

  5. P1049 装箱问题

    装箱问题 题目描述 有一个箱子容量为VVV(正整数,0≤V≤200000 \le V \le 200000≤V≤20000),同时有nnn个物品(0<n≤300<n \le 300< ...

  6. codevs 1002 搭桥

    codevs 第一道题 先贴描述 1002 搭桥  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解  查看运行结果 题目描述 Description 有一矩 ...

  7. bzoj 1050: [HAOI2006]旅行comf(codevs.cn 1001 舒适的路线) 快排+并查集乱搞

    没用的话:好像很久没发博客了,主要是懒太蒟找不到水题.我绝对没弃坑...^_^ 还用些话:本文为博主原创文章,若转载请注明原网址和作者. 进入正题: 先pa网址: bzoj :http://www.l ...

  8. codevs 1531 山峰

    codevs 1531 山峰 题目描述 Description Rocky山脉有n个山峰,一字排开,从西向东依次编号为1, 2, 3, --, n.每个山峰的高度都是不一样的.编号为i的山峰高度为hi ...

  9. 习题:codevs 2822 爱在心中 解题报告

    这次的解题报告是有关tarjan算法的一道思维量比较大的题目(真的是原创文章,希望管理员不要再把文章移出首页). 这道题蒟蒻以前做过,但是今天由于要复习tarjan算法,于是就看到codevs分类强联 ...

最新文章

  1. C# 实现FTP上传与下载
  2. IDEA 启动tomcat 端口占用原因以及解决方法( 使用debug模式)
  3. declare-styleable:自定义控件的属性
  4. Scrapy爬虫框架命令行操作
  5. 宗馥莉:艰难的接班人与幸运的创二代
  6. 亚洲诚信服务器显示F,在Apache2服务器上部署SSL证书
  7. 程序员的4种心态与4种将来
  8. 大规模markpoint特效
  9. 60秒计时器的仿真电路_基于伏秒平衡的同步整流方案探讨
  10. Python 进阶 之 socket模块
  11. jvm性能调优工具之 jmap使用详解
  12. 工具(1)---wireshark抓包
  13. VC++调试方法和技巧
  14. Altova XMLSpy2011的破解出现的问题
  15. 彻底搞懂MySql的B+Tree
  16. html js制作高级拼图,基于JavaScript实现十五拼图代码实例
  17. top命令怎么看?top命令详解
  18. 35岁程序员被公司辞退,生活压力太大痛哭,中年危机如何自救?
  19. 宏基服务器系统安装系统还原,宏碁win7系统重装教程
  20. 机器学习技法8-Adboost算法

热门文章

  1. WorldWind学习系列十一:Virtual Earth插件学习
  2. Mysql数据库(八)排名函数
  3. 元宇宙为金融带来哪些想象力?将为银行、保险、证券业打开新版图
  4. VMware vSphere常见问题汇总(十四)
  5. 网络系统管理Debian模块||RouterSrv的openvpn配置详解
  6. 晶振的频率误差,负载电容,匹配电容及IC内置补偿电容
  7. 2009年顶级杀毒软件排名榜
  8. c语言中 ||优先级,C语言运算符号的优先级 A: B: C:|| D:|
  9. [MemTest太慢? 来试试这个压力更大吧!]分享一个快速测试内存超频出错的软件-TM5(和国外大佬的极限自定义配置)
  10. linux查看cpu是否支持虚拟化,如何知道CPU是否支持虚拟化技术(VT)