揹包問題i
試題描述
有乙個揹包容積為 v 和 n 個物品,並給出每個物品有乙個體積。要求從 n 個物品中,任取若干個裝入揹包內,使揹包的剩餘空間為最小。
輸入第一行兩個正整數 v 和 n,分別表示揹包的容積和待裝物品的個數;第二行包括 n 個正整數,表示 n 個物品的體積,兩兩之間有乙個空格分隔。
輸出乙個數,表示揹包中剩餘空間的最小值
輸入示例
24 6
8 3 12 7 9 7
輸出示例
0其他說明
資料範圍:0
view code
揹包問題ii
試題描述
仍然是揹包問題……典型0-1揹包!題曰:今有n個物品,第i個體積為v[i],價值為w[i],揹包的容積為c。求在體積不超容積的前提下,揹包中可裝物品價值的最大值。
輸入第一行:兩個整數 n 和 c ;
第二行~第n+1行:每行兩個整數vi與wi,有乙個空格分隔。
輸出乙個數,表示揹包中能得到物品價值的最大值。
輸入示例
2 10
1 12 2
輸出示例
3
1 #include2view codeusing
namespace
std;
3int a[10001]={},b[10001]={},temp1,temp2;//
b[i]為上一行,a[i]為這行
4int
main()516
}17for(j=1;j<=c;j++)b[j]=a[j];18}
19 cout<
20 }
揹包問題iii
試題描述
揹包問題,古之經典。題曰:今有n類物品無數,第i種體積為v[i],價值為w[i],揹包的體積為c。求在體積不超容積的前提下,揹包中物品價值最大值。
輸入第一行:兩個整數 n 和 c ;
第二行~第n+1行:每行兩個整數vi與wi,有乙個空格分隔。
輸出乙個數,表示揹包中能得到物品價值的最大值。
輸入示例
4 1000
1 1000
2 1231
3 1232
4 1010
輸出示例
1000000
其他說明
資料範圍:1<=n<=100 1<=vi,wi<=100;1<=c<=10000;
1 #include2view codeusing
namespace
std;
3int a[2][10001]={},temp1,temp2;
4int
main()516
}17for(j=1;j<=c;j++) a[0][j]=a[1
][j];18}
19 cout<1
][c];
20 }
揹包問題ⅳ
試題描述
有n個重量和價值分別為wi和vi的物品。從這些物品中挑選出總重量不超過w的物品,求所有挑選方案中價值總和的最大值。
輸入三行,第一行包含兩個正整數n和w,第二行包含n個正整數依次表示i個物品各自的重量,第三行包含n個正整數依次表示i個物品各自的價值。同一行的數兩兩之間有乙個空格分隔。
輸出乙個數,表示價值總和的最大值。
輸入示例
4 52 1 3 2
3 2 4 2
輸出示例
7其他說明
資料範圍:1<=n,vi<=100,1<=w<=10^9,1<=wi<=10^7.
1 #include2view codeusing
namespace
std;
3int a[2][10005]={},t1[101],t2[101];4
intmain()521
else
if(a[0][j-t2[i]]!=0)22
26}27for(int j=1;j<=10001;j++) a[0][j]=a[1
][j];28}
29int ans=0;30
for(int i=1;i<=10001;i++) if(a[1][i]<=w&&a[1][i]!=0) ans=i;
31 cout<
32 }
經典揹包問題 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 難度級別 b 執行時間限制 1000ms 執行空間限制 51200kb 長度限制 2000000b 試題描述 有乙個揹包容積為 v 和 n 個物品,並給出每個物品有乙個體積。要求從 n 個物品中,任取若干個裝入揹包內,使揹包的剩餘空間為最小。輸入第一行兩個正整數 v 和 n,分別表示揹包...