解題報告:有若干件物品,每件物品有一定的體積,然後有乙個體積為v的箱子,要將物品放入這個箱子,求出箱子剩餘的體積最小值。
這題其實是乙個01揹包,體積還是體積,主要就是要把每一件物品的體積當成是它的價值,這樣按照01揹包的方式求出可以放入的最大價值之後,因為體積等於價值,也就是說最大的 價值也就是可以放入的最大的體積,所以v-dp[v],就得到了最小的剩餘體積了。
1 #include2 #include3 #include4view codeusing
namespace
std;
5const
int maxn = 20000 + 3;6
intdp[maxn],w[maxn],v,n;
7int
main()
1014 裝箱問題
題目描述 description 有乙個箱子容量為v 正整數,0 v 20000 同時有n個物品 0 n 30 每個物品有乙個體積 正整數 要求n個物品中,任取若干個裝入箱內,使箱子的剩餘空間為最小。輸入描述 input description 乙個整數v,表示箱子容量 乙個整數n,表示有 n個物品...
1014 裝箱問題
題目描述 description 有乙個箱子容量為v 正整數,0 v 20000 同時有n個物品 0 n 30 每個物品有乙個體積 正整數 要求n個物品中,任取若干個裝入箱內,使箱子的剩餘空間為最小。輸入描述 input description 乙個整數v,表示箱子容量 乙個整數n,表示有 n個物品...
1014 裝箱問題
題目描述 description 有乙個箱子容量為v 正整數,0 v 20000 同時有n個物品 0 n 30 每個物品有乙個體積 正整數 要求n個物品中,任取若干個裝入箱內,使箱子的剩餘空間為最小。輸入描述 input description 乙個整數v,表示箱子容量 乙個整數n,表示有n個物品 ...