我正在学习动态规划,并且希望解决以下问题,题目可以在这里找到http://www.cs.berkeley.edu/~vazirani/algorithms/chap6.pdf:你有一块长为X、宽为Y的矩形布料和一个由n个产品组成的清单。对于每个产品i(i∈[1,n]),你知道需要一个尺寸为ai×bi的布料,并且该产品的最终售价为ci。假设ai、bi和ci均为正整数。你有一台机器,可以将任何一块矩形布料水平或垂直地切成两块。设计一种算法,以便找到最佳策略,即切割出来的布料制成的产品销售价格之和最大。您可以自由复制任何产品,也可以不复制。(摘自《算法》(Dasgupta,Papadimitriou和Vazirani))。
看起来我们有一种二维背包问题,但我认为可以通过考虑矩形的面积将其仅用传统的背包算法进行解决。这种方法是否合理?
这是我正在学习课程的编程作业,请只包含概念性讨论和/或伪代码以说明思路。
看起来我们有一种二维背包问题,但我认为可以通过考虑矩形的面积将其仅用传统的背包算法进行解决。这种方法是否合理?
这是我正在学习课程的编程作业,请只包含概念性讨论和/或伪代码以说明思路。