codevs天梯 装箱问题 水01背包
2017-01-30 20:49
218 查看
题目:
有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n<=30),每个物品有一个体积(正整数)。
要求n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。
分析:
经典01背包问题
代码:
const
maxn=20000;
var
a,f:array [0..maxn] of longint;
n,v:longint;
procedure init;
var
i:longint;
begin
readln(v,n);
for i:=1 to n do
readln(a[i]);
end;
procedure main;
var
i,j:longint;
begin
for i:=1 to n do
for j:=v downto a[i] do
if f[j]<f[j-a[i]]+a[i] then
f[j]:=f[j-a[i]]+a[i];
write(v-f[v]);
end;
begin
init;
main;
end.
有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n<=30),每个物品有一个体积(正整数)。
要求n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。
分析:
经典01背包问题
代码:
const
maxn=20000;
var
a,f:array [0..maxn] of longint;
n,v:longint;
procedure init;
var
i:longint;
begin
readln(v,n);
for i:=1 to n do
readln(a[i]);
end;
procedure main;
var
i,j:longint;
begin
for i:=1 to n do
for j:=v downto a[i] do
if f[j]<f[j-a[i]]+a[i] then
f[j]:=f[j-a[i]]+a[i];
write(v-f[v]);
end;
begin
init;
main;
end.
相关文章推荐
- MyEclipse部署TomCat服务器
- FPGA 学习之路(九)SPI协议通信
- EmitMapper 和TinyMapper 两者简单对比(若转载请注明)
- js 定义像java一样的map方便取值【转】
- vmstat:一个标准的报告虚拟内存统计工具
- WebVeiw的使用随笔
- 486. Predict the Winner**
- 浏览器市场份额
- angular创建新指令directive中scope的作用以及绑定策略
- Cognitive Services API 系列-- 使用计算机视觉api完成图片分类
- STL中的栈和队列
- P1598 垂直柱状图(洛谷)
- [WCF REST] 一个简单的REST服务实例
- 信号
- C语言 · 高精度乘法
- Android的FragmentTabHost使用(顶部或底部菜单栏)
- Mongodb初探
- 浅谈java抽象类与接口
- Qt 5.3.1 触摸笔无效 + Qt 5.6.2 编译出现错误:QtFontFamily::ensurePopulated(): "PMingLiU"
- DevOps 2016年度十大热点事件