P1049 裝箱問題

2021-09-26 03:12:01 字數 617 閱讀 7855

這道題就是在0-1揹包的基礎上加了一點,就是0-1揹包是需要裝的東西最多(價值最大),但是這題是要求剩餘的空間最少,那麼首先dp陣列裡必然是用剩餘的空間作為dp所存的內容,轉移方程也隨之變成了:if(dp[j-item[i]]-item[i]>=0)

#include

#include

#include

#include

#include

using namespace std;

const

int maxn =

1005

;int item[30+

5];int dp[

20000+5

];intmain()

for(

int i=

0;i<=v;i++

) dp[i]

= v;

for(

int i=

0;i)for

(int j=v;j>=item[i]

;j--)}

printf

("%d\n"

, dp[v]);

return0;

}

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,有n個物品,每個物品都有乙個體積,要求在這n個物品中使箱子剩餘的體積最小。2468 31279 70o nm 連續寫了4題關於動態規劃的題目,但毫不例外的都是01揹包,能不能再簡單一點,我也是沒看出有多少改變。跟採藥相比也就少了個每個物品的價值,但物品的體積也可以看作是它的價值...