時間限制:
難度:3
描述
有n個重量和價值分別為wi 和 vi 的 物品,從這些物品中選擇總重量不超過 w
的物品,求所有挑選方案中物品價值總和的最大值。
1 <= n <=100
1 <= wi <= 10^7
1 <= vi <= 100
1 <= w <= 10^9
輸入
多組測試資料。 每組測試資料第一行輸入,n 和 w ,接下來有n行,每行輸入兩個數,代表第i個物品的wi 和 vi。
輸出滿足題意的最大價值,每組測試資料佔一行。
樣例輸入
4 52 31 2
3 42 2
樣例輸出
7
01揹包新思路,當質量過大時,會出現記憶體過大,換個思路,由於100*100也就是總價值最大值為10000,所以令價值為v的揹包放入的最少質量,此放入為完全揹包,所以令揹包初始化為max;
**:
1 #include2struct
goodsgoods[110];5
#define max 1<<30
6int bag[10010];7
intmain()19}
20for(int i=0;i<=v;++i)value=bag[i]<=w?i:value;
21 printf("
%d\n
",value);22}
23return0;
24 }
又見01揹包
問題 f 又見01揹包 時間限制 1 sec 記憶體限制 128 mb 提交 4 解決 4 提交 狀態 討論版 題目描述 有n個重量和價值分別為wi 和 vi 的 物品,從這些物品中選擇總重量不超過 w 的物品,求所有挑選方案中物品價值總和的最大值。1 n 100 1 wi 10 7 1 vi 10...
又見01揹包
描述 有n個重量和價值分別為wi 和 vi 的 物品,從這些物品中選擇總重量不超過 w 的物品,求所有挑選方案中物品價值總和的最大值。1 n 100 1 wi 10 7 1 vi 100 1 w 10 9 輸入 多組測試資料。每組測試資料第一行輸入,n 和 w 接下來有n行,每行輸入兩個數,代表第i...
又見01揹包
這道題是真的狗屎,按照一般思路寫狀態方程ac不了,換個思路寫才行,時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 有n個重量和價值分別為wi 和 vi 的 物品,從這些物品中選擇總重量不超過 w 的物品,求所有挑選方案中物品價值總和的最大值。1 n 100 1 wi 10 7...