P1049 裝箱問題

2021-07-26 17:03:39 字數 720 閱讀 5586

有乙個箱子的容量為v,有n個物品,每個物品都有乙個體積,要求在這n個物品中使箱子剩餘的體積最小。
2468

31279

7

0
o(nm)

連續寫了4題關於動態規劃的題目,但毫不例外的都是01揹包,能不能再簡單一點,我也是沒看出有多少改變。

跟採藥相比也就少了個每個物品的價值,但物品的體積也可以看作是它的價值,最後總體積減去最大體積就是答案,方程就變成了:

f[j]:=max(f[j],f[j-a[i]]+a[i]);

還是有點變化的啊~~~~

var

n,m,i,j:longint;

a,b,f:array[0..20000]of longint;

begin

readln(n);

readln(m);

for i:=1

to m do

readln(a[i]);

for i:=1

to m do

for j:=n downto a[i] do

if f[j-a[i]]+a[i]>f[j] then

f[j]:=f[j-a[i]]+a[i];

writeln(n-f[n]);

end.

P1049 裝箱問題

題目描述 有乙個箱子容量為v 正整數,0 v 20000 同時有n個物品 0 n 30,每個物品有乙個體積 正整數 要求n個物品中,任取若干個裝入箱內,使箱子的剩餘空間為最小。輸入輸出格式 輸入格式 乙個整數,表示箱子容量 乙個整數,表示有n個物品 接下來n行,分別表示這n 個物品的各自體積 輸出格...

P1049 裝箱問題

題目描述 有乙個箱子容量為v 正整數,0 v 20000 同時有n個物品 0 n 30,每個物品有乙個體積 正整數 要求n個物品中,任取若干個裝入箱內,使箱子的剩餘空間為最小。輸入輸出格式 輸入格式 乙個整數,表示箱子容量 乙個整數,表示有n個物品 接下來n行,分別表示這n 個物品的各自體積 輸出格...

P1049 裝箱問題

題目內容 題目描述 有乙個箱子容量為v 正整數,0 v 20000 同時有n個物品 0 n 30,每個物品有乙個體積 正整數 要求n個物品中,任取若干個裝入箱內,使箱子的剩餘空間為最小。輸入輸出格式 輸入格式 乙個整數,表示箱子容量 乙個整數,表示有n個物品 接下來n行,分別表示這n 個物品的各自體...