問題 f: 又見01揹包
時間限制: 1 sec 記憶體限制: 128 mb
提交: 4 解決: 4
[提交][狀態][討論版]
題目描述
有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 3
1 23 4
2 2樣例輸出
#include #include #define min(a,b) a < b ? a : b
int dp[10010];
int w[110],v[110];
int main()
for(i = 0;i < n;i ++ )
}for(i = sum;i >= 0;i -- )}}
return 0;
}
降價值看作揹包容量 , 倒序查詢滿足條件的dp;
又見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...
又見01揹包
時間限制 難度 3 描述 有n個重量和價值分別為wi 和 vi 的 物品,從這些物品中選擇總重量不超過 w 的物品,求所有挑選方案中物品價值總和的最大值。1 n 100 1 wi 10 7 1 vi 100 1 w 10 9 輸入 多組測試資料。每組測試資料第一行輸入,n 和 w 接下來有n行,每行...