EOJ 動態規劃) 1052 0 1揹包問題

2021-09-11 00:23:41 字數 800 閱讀 1027

單測試點時限: 2.0 秒

記憶體限制: 256 mb

已知 n 個物體 1,2,3,…,n 與乙個揹包。物體 i 的重量為 wi>0,價值為 pi>0 (i=1,2,…,n),揹包容量為 m>0。

求在不超過揹包容量的情況下,使得裝進去的物體的價值最高。

輸入第一行為乙個正整數 t,表示有幾組測試資料。

每組測試資料的第一行為兩個整數 n 和 m,0再下去的 n 行每行有兩個整數 wi,pi,0輸出

對於每組測試資料,輸出一行,只含乙個整數,表示裝進去物體的價值最高值。

樣例input

15 10

2 62 3

6 55 4

4 6output

15題目大意:

01揹包。

題目解析:

第二次遇到01揹包問題,這次算是完全弄明白了。

01揹包核心**:

for

(int i=

1;i<=n;i++)}

}

關鍵點:

具體**:

#include

using namespace std;

#define maxn 25

int weight[maxn]

,price[maxn]

;int dp[maxn]

[100005];

//dp[i][j]表示前i件物品放入空間為j的最大價值

intmain()

}}cout<[m]<}return0;

}

動態規劃 揹包

揹包經典問題 揹包問題01 乙個揹包容積為t 0 t 2000 現在有n 0 如下 includeusing namespace std int s 1005 bool f 3000 int main 揹包問題02 若每種物品有無限多個。從這n種物品中選取若干個裝入揹包內,使揹包所剩的空間最小。請求...

揹包(動態規劃)

一 01揹包問題 特點 每件物品僅有一件,可以選擇放與不放 有件物品和乙個容量為 的揹包。第 件物品的費用是 價值是 求解將哪些物品裝入揹包可使這些物品的費用總和不超過揹包容量,且價值總和最大。用子問題定義狀態 f i v max f i 1 v f i 1 v c i w i 注意有意義當且僅當存...

xtu p1052 01揹包問題

描述 乙個旅行者有乙個最多能裝 m 公斤的揹包,現在有 n 件物品,它們的重量分別是w1,w2,wn,它們的價值分別為c1,c2,cn,求旅行者能獲得最大總價值。格式 輸入格式 第一行 兩個整數,m 揹包容量,m 200 和n 物品數量,n 30 第2 n 1行 每行二個整數wi,ci,表示每個物品...