问题描述
有一堆商品,其长宽高各不相同,有一堆箱子,箱子有大有小,有的箱子能放多个商品,有的只能放一个求算法,如何包装这对商品,才能用最少的箱子(所有使用的箱子加起来消耗箱子的体积最小)包完所有的商品。
解决方案
解决方案二:
这个类似:现在有人民币0分<$<100元求出找零钱的最少张数的算法。
解决方案三:
假设一堆商品有M个,箱子分别能装a,b,c个等等,只要对M做如下处理:M对a取整得可以使用多少个a箱子,然后M对a取余得N,然后N对b取整得可以使用多少个b箱子,然后N对b再取余。。。。以此类推
解决方案四:
貌似比找零钱难。。。呵呵。等高人回答
解决方案五:
求高手~~~
解决方案六:
典型的动态规划问题:设vCase[i]表示箱子大小vGoods[i]表示商品大小f[i,j]表示检查到第j只箱子时,还剩余i个商品需要包装。那么转移方程是:①当i=1,vGoods[1]>=vCase[j]时,f[i,j]=vGoods[1]②当i=1,vGoods[1]<vCase[j]时,f[i,j]=无解③当i>1,f[i,j]=max{f[vGoods[i]-vCase[i],j-1],f[vGood[i],j-1]}
解决方案七:
支持LS~~
解决方案八:
mark!5LV5
解决方案九:
找钱是一维装箱是三维商品的形状长宽高的信息要主要要素商品能否可以倒放侧放等等情况也要考虑总的思路是箱子从大到小排,商品也从大道小排先计算商品的总的占用空间当箱子放完一个物品后还有空间时,如何最大利用空间再装小的
解决方案十:
其中的约束条件商品的长宽高
解决方案十一:
如果没有限制平放倒放侧放的话箱子的可有空间长宽高大小排列商品的长宽高大小排列只有排列后箱子可用空间的“长宽高”分别>=商品的“长宽高”时这个商品才能放得进去比如箱子可用空间长宽高为805060商品的为704050先排序排序后“长宽高”为806050:705040都大于商品所以能放入箱子如果商品是70,40,70排序后70,70,40则不能放入
解决方案十二:
感觉像贪心算法....
解决方案十三:
商品可以倒着放,箱子也可以,只要能放下即可,还有那位能给点提示~~
解决方案十四:
貌似很深奥,感觉比贪心算法难
解决方案十五:
先计算出每个箱子能放入的最大商品数,也就是放哪些商品剩余体积最少然后再留个记号,看别人回答
解决方案:
贪婪这个貌似网上有的啊
解决方案:
应该是贪心算法哈哈搞错了不过不是完全正确的,有时候也会出错。