經典旅遊01揹包

2021-06-22 07:22:26 字數 644 閱讀 3007

題意描述:

小陳要去**旅遊了,他開始收拾去旅遊要帶的東西,他選出n件物品,每件物品有一定的體積和價值,可惜小陳的包的容量只有m,因此小陳可能沒辦法把所有的東西都帶上,但是他想帶上價值盡量大的物品,當然前提是他的包裝得下。作為一名優秀的程式猿,小陳決定要打乙個程式來幫他選擇。你覺得他能做到嗎?

第一行是樣例個數t(t<=100)

每個樣例以兩個正整數n,m(n<=1000,m<=10000)開頭,含義見題意描述

接下來n行,每行兩個正整數vol(vol<=m)和val(val<=10000),分別是一件物品的體積和價值

每個樣例輸出一行,小陳能帶上的最大價值

2

3 10

4 55 4

2 34 15

4 65 7

6 88 12

9

21

#include#includeusing namespace std;

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時放不放 ...