博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
装箱问题
阅读量:4579 次
发布时间:2019-06-09

本文共 812 字,大约阅读时间需要 2 分钟。

8785:装箱问题

   总时间限制: 

1000ms
内存限制: 
65536kB
描述

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

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

输入
第一行是一个整数V,表示箱子容量。
第二行是一个整数n,表示物品数。
接下来n行,每行一个正整数(不超过10000),分别表示这n个物品的各自体积。
输出
一个整数,表示箱子剩余空间。
样例输入
2468312797
样例输出
0
来源
NOIP2001复赛 普及组 第四题
【思路】是取若干个物品 不是每个物品取若干个;
先01背包求f[V]不超过V体积能放物品体积的最大值
再求V-f[V]'
【代码】
#include
#include
#include
using namespace std;int v[50],f[21000];int main(){ int V,n; scanf("%d%d",&V,&n); for(int i=1;i<=n;i++) scanf("%d",&v[i]); for(int i=1;i<=n;i++) { for(int k=V;k>=v[i];k--) { f[k]=max(f[k],f[k-v[i]]+v[i]); } } printf("%d",V-f[V]); return 0;}

 

转载于:https://www.cnblogs.com/zzyh/p/6751538.html

你可能感兴趣的文章
java面试题集锦
查看>>
scikit-learn:4.2.3. Text feature extraction
查看>>
Spring Security构建Rest服务-0800-Spring Security图片验证码
查看>>
AE待整理
查看>>
java8中规范的四大函数式接口
查看>>
宝塔apache配置
查看>>
shell脚本中使用nohup执行命令不生效
查看>>
PHP 文件上传七牛云
查看>>
gitlab 邮件服务器配置
查看>>
OFO和摩拜共享单车
查看>>
数据适配 DataAdapter对象
查看>>
有序列表ol和定义列表dl,dt,dd
查看>>
联想小新Air 15 安装黑苹果macOS High Sierra 10.13.6过程
查看>>
公共POI导出Excel方法–java
查看>>
次短路——Dijkstra
查看>>
二分图
查看>>
hdu 1853 Cyclic Tour(费用流OR二分图最佳匹配,5级)
查看>>
js 对url进行某个参数的删除,并返回url
查看>>
Windows7装Linux虚拟机
查看>>
SQL 操作结果集 -并集、差集、交集、结果集排序
查看>>