單測試點時限: 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,表示每個物品...