揹包問題i
難度級別:b; 執行時間限制:1000ms; 執行空間限制:51200kb; **長度限制:2000000b
試題描述
有乙個揹包容積為 v 和 n 個物品,並給出每個物品有乙個體積。要求從 n 個物品中,任取若干個裝入揹包內,使揹包的剩餘空間為最小。
輸入第一行兩個正整數 v 和 n,分別表示揹包的容積和待裝物品的個數;第二行包括 n 個正整數,表示 n 個物品的體積,兩兩之間有乙個空格分隔。
輸出乙個數,表示揹包中剩餘空間的最小值
輸入示例
24 6
8 3 12 7 9 7
輸出示例
0其他說明
資料範圍:0
真是太簡單了,轉移方程:dp[j]=max(dp[j],dp[j-a[i]]+a[i]);。
1 #include2 #include3view codeusing
namespace
std;
4int
main() 5
16 cout
17 }
經典揹包問題 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揹包問題
乙個旅行者有乙個最多能裝m公斤的揹包,現在有n件物品,它們的重量分別是w1,w2,wn,它們的價值分別為c1,c2,cn。求旅行者能獲得最大總價值。第 1 行 兩個整數,m 揹包容量,m 200 和n 物品數量,n 30 第 2 到 n 1行 每行兩個整數 wi,ci,表示每個物品的重量和價值。10...
經典揹包系列問題
揹包問題i 試題描述 有乙個揹包容積為 v 和 n 個物品,並給出每個物品有乙個體積。要求從 n 個物品中,任取若干個裝入揹包內,使揹包的剩餘空間為最小。輸入第一行兩個正整數 v 和 n,分別表示揹包的容積和待裝物品的個數 第二行包括 n 個正整數,表示 n 個物品的體積,兩兩之間有乙個空格分隔。輸...