P1047 裝箱問題

2021-09-14 03:38:37 字數 454 閱讀 5667

有乙個箱子容量為vvv(正整數,0≤v≤200000 \le v \le 200000≤v≤20000),同時有nnn個物品(0要求n個物品中,任取若干個裝入箱內,使箱子的剩餘空間為最小。

解法:動態規劃(水題)

先求解狀態轉移方程:

對於每乙個物體,都有兩種狀態:裝 與不裝

那麼,對於任意重量m的最大價值 f (m) = max ( f ( m - w[i] ) + w[i], f (m) )(w為重量(即價值))

即對每種分情況都考慮到,相比較下取較大的數,加和就是全域性最優解!

演算法//只有體積,沒有價值

#include

using namespace std;

const int maxnum[20006];

int dp[maxnum];

int v[50],n,w;

int main()

}

洛谷 P1047 裝箱問題 01揹包

有乙個箱子容量為 vv v 正整數,0 v 200000 le v le 200000 v 20 000 同時有 nn n 個物品 0 030,每個物品有乙個體積 正整數 要求 nn n 個物品中,任取若干個裝入箱內,使箱子的剩餘空間為最小。輸入格式 111 個整數,表示箱子容量111 個整數,表示...

洛谷p1047題解

題目 題目描述 某校大門外長度為l的馬路上有一排樹,每兩棵相鄰的樹之間的間隔都是1公尺。我們可以把馬路看成乙個數軸,馬路的一端在數軸l的位置,另一端在ll的位置 數軸上的每個整數點,即0,1,2,l0,1,2,l,都種有一棵樹。由於馬路上有一些區域要用來建地鐵。這些區域用它們在數軸上的起始點和終止點...

P1047 校門外的樹

某校大門外長度為l的馬路上有一排樹,每兩棵相鄰的樹之間的間隔都是1公尺。我們可以把馬路看成乙個數軸,馬路的一端在數軸0的位置,另一端在l的位置 數軸上的每個整數點,即0,1,2,l,都種有一棵樹。由於馬路上有一些區域要用來建地鐵。這些區域用它們在數軸上的起始點和終止點表示。已知任一區域的起始點和終止...