Codevs p1014 装箱问题
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 装箱问题相关推荐
- CodeVs天梯黄金Gold题解
title: CodeVs天梯之Gold date: 2017-12-28 tags: 天梯 CodesVs categories: OI CodeVs天梯之Gold 2018.01.04 By gw ...
- [ CodeVS冲杯之路 ] P1116
不充钱,你怎么AC? 题目:http://codevs.cn/problem/1116/ 数据很小,DFS可A,每层枚举颜色,判断相邻的点是否有重复的颜色,记得回溯时把颜色染回0,即无颜色 这里我使用 ...
- 【贪心】【codevs】1214 线段覆盖
http://codevs.cn/problem/1214/ 我去这个题...wa的我都没脾气了... 我写while(~scanf("%d", &n))竟然是不对的... ...
- [codevs 1913] 数字梯形问题
[codevs 1913] 数字梯形问题 题解: 本题就是加强版的 [codevs 1033] 蚯蚓的游戏问题. 分别针对三个规则建图.运行最小费用最大流. 规则1:从梯形的顶至底的m条路径互不相交. ...
- P1049 装箱问题
装箱问题 题目描述 有一个箱子容量为VVV(正整数,0≤V≤200000 \le V \le 200000≤V≤20000),同时有nnn个物品(0<n≤300<n \le 300< ...
- codevs 1002 搭桥
codevs 第一道题 先贴描述 1002 搭桥 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Description 有一矩 ...
- bzoj 1050: [HAOI2006]旅行comf(codevs.cn 1001 舒适的路线) 快排+并查集乱搞
没用的话:好像很久没发博客了,主要是懒太蒟找不到水题.我绝对没弃坑...^_^ 还用些话:本文为博主原创文章,若转载请注明原网址和作者. 进入正题: 先pa网址: bzoj :http://www.l ...
- codevs 1531 山峰
codevs 1531 山峰 题目描述 Description Rocky山脉有n个山峰,一字排开,从西向东依次编号为1, 2, 3, --, n.每个山峰的高度都是不一样的.编号为i的山峰高度为hi ...
- 习题:codevs 2822 爱在心中 解题报告
这次的解题报告是有关tarjan算法的一道思维量比较大的题目(真的是原创文章,希望管理员不要再把文章移出首页). 这道题蒟蒻以前做过,但是今天由于要复习tarjan算法,于是就看到codevs分类强联 ...
最新文章
- C# 实现FTP上传与下载
- IDEA 启动tomcat 端口占用原因以及解决方法( 使用debug模式)
- declare-styleable:自定义控件的属性
- Scrapy爬虫框架命令行操作
- 宗馥莉:艰难的接班人与幸运的创二代
- 亚洲诚信服务器显示F,在Apache2服务器上部署SSL证书
- 程序员的4种心态与4种将来
- 大规模markpoint特效
- 60秒计时器的仿真电路_基于伏秒平衡的同步整流方案探讨
- Python 进阶 之 socket模块
- jvm性能调优工具之 jmap使用详解
- 工具(1)---wireshark抓包
- VC++调试方法和技巧
- Altova XMLSpy2011的破解出现的问题
- 彻底搞懂MySql的B+Tree
- html js制作高级拼图,基于JavaScript实现十五拼图代码实例
- top命令怎么看?top命令详解
- 35岁程序员被公司辞退,生活压力太大痛哭,中年危机如何自救?
- 宏基服务器系统安装系统还原,宏碁win7系统重装教程
- 机器学习技法8-Adboost算法
热门文章
- WorldWind学习系列十一:Virtual Earth插件学习
- Mysql数据库(八)排名函数
- 元宇宙为金融带来哪些想象力?将为银行、保险、证券业打开新版图
- VMware vSphere常见问题汇总(十四)
- 网络系统管理Debian模块||RouterSrv的openvpn配置详解
- 晶振的频率误差,负载电容,匹配电容及IC内置补偿电容
- 2009年顶级杀毒软件排名榜
- c语言中 ||优先级,C语言运算符号的优先级 A: B: C:|| D:|
- [MemTest太慢? 来试试这个压力更大吧!]分享一个快速测试内存超频出错的软件-TM5(和国外大佬的极限自定义配置)
- linux查看cpu是否支持虚拟化,如何知道CPU是否支持虚拟化技术(VT)