題意描述:
小陳要去**旅遊了,他開始收拾去旅遊要帶的東西,他選出n件物品,每件物品有一定的體積和價值,可惜小陳的包的容量只有m,因此小陳可能沒辦法把所有的東西都帶上,但是他想帶上價值盡量大的物品,當然前提是他的包裝得下。作為一名優秀的程式猿,小陳決定要打乙個程式來幫他選擇。你覺得他能做到嗎?
第一行是樣例個數t(t<=100)
每個樣例以兩個正整數n,m(n<=1000,m<=10000)開頭,含義見題意描述
接下來n行,每行兩個正整數vol(vol<=m)和val(val<=10000),分別是一件物品的體積和價值
每個樣例輸出一行,小陳能帶上的最大價值
23 10
4 55 4
2 34 15
4 65 7
6 88 12
9#include#includeusing namespace std;21
int dp[10005];
int main()
memset(dp,0,sizeof(dp));
for(i=0;i=c[i];j--)
dp[j]=max(dp[j],dp[j-c[i]]+v[i]);
cout<
經典01揹包問題
乙個旅行者有乙個最多能裝m公斤的揹包,現在有n件物品,它們的重量分別是w1,w2,wn,它們的價值分別為c1,c2,cn。求旅行者能獲得最大總價值。第 1 行 兩個整數,m 揹包容量,m 200 和n 物品數量,n 30 第 2 到 n 1行 每行兩個整數 wi,ci,表示每個物品的重量和價值。10...
經典揹包問題 01揹包 完全揹包 多重揹包
1 for int i 0 i 2for int j w j size i j 3 f j max f j f j size i value i 1 for int i 0 i 2for int j size i j w j 3 f j max f j f j size i value i f w ...
經典問題之01揹包
動態規劃像乙個生產車間有好多連續的生產線 乙個階段就是乙個生產線 狀態就是每個生產線物品的狀態 決策就是生產線上根據物品的狀態而對物品的操作.01揹包問題 階段 第一生產線 放不放第乙個物品 第二生產線 放不放第二個物品 第n生產線 放不放第n個物品 第一生產線共 有n v1個選擇 v v時放不放 ...