裝箱問題 (洛谷題目)

2021-09-26 05:37:06 字數 917 閱讀 8907

題目描述:

【題目描述】

有乙個箱子容量為v(正整數,0≤v≤20000),同時有n個物品(0< n ≤30),每個物品有乙個體積(正整數)。

要求n個物品中,任取若干個裝入箱內,使箱子的剩餘空間為最小。

【輸入】

第一行是乙個整數v,表示箱子容量。

第二行是乙個整數n,表示物品數。

接下來n行,每行乙個正整數(不超過10000),分別表示這n個物品的各自體積。

【輸出】

乙個整數,表示箱子剩餘空間。

【輸入樣例】246

83127

97【輸出樣例】

0**演算法分析:本題屬於動態規劃,揹包型動態規劃,相當於揹包容量和揹包中物品價值二者相等的一般揹包問題。(貌似也稱為偽揹包問題)對於每乙個物品i,都存在放入箱子和不放入箱子兩種情況。當前箱子容量剩餘j時,若i放入,則為dp[j-a[i]]+a[i]);

若i不放入,則為dp[i];因此,狀態轉移方程為:dp[j] = max(dp[j], dp[j-a[i]]+a[i])。分析完畢!!!

完整ac**:

裝箱問題(洛谷)

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

洛谷 P1049 裝箱問題

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

洛谷P1049 裝箱問題

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