给定木板由M×N个木制方块组成,我们需要找到将木板分成方形木块的最小成本。切割木板的最低成本
我们可以沿着水平和垂直线切割电路板,每个切割将电路板分成较小的部分。根据切割是沿着水平线还是垂直线进行,每块切割板都有成本。让我们用x [1],x [2],...,x [n-1]和水平线以y [1],y [2]表示沿连续垂直线切割的成本。 ...,y [m-1]。如果(成本c)被削减并通过n段,那么该削减的总成本将为n * c。
将整个纸板切割成单个正方形的成本是用于将整个纸板切割成大小为1x1的方形木块的连续切割成本的总和。
什么是将整个木板打成1x1的正方形的最小成本。
示例:让我们取6 * 4网格。
让沿着行削减成本是如下:[2 1 3 1 4]
切割沿列成本如下:[4 1 2]
这里答案将是42
我们应该按顺序使用y5,x1,y3,y1,x3,y2,y4和x2开始切割。第一次剪切将是水平的,其中cost = y5 = 4。接下来,我们将用x1进行垂直剪切。由于该切割经过两段(由之前的垂直切割创建),所以其总成本将是2 * x1 = 2 * 4。类似地,下一个水平切割(y3)将通过两个区段并且将花费2 * y3 = 2 * 3。我们可以按照类似的方式进行,并且总体成本为4 + 4 * 2 + 3 * 2 + 2 * 2 + 2 * 4 + 1 * 3 + 1 * 3 + 1 * 6 = 42.
我的方法:检查从第1行到第2行的切割开始的每个切割,等等。但显然它效率太低了。那么如何解决这个问题呢?
请通过示例或某些算法psuedocode稍微解释一下,以使其理解 – user3343643
我认为你误解了这个问题 – user3343643
这个问题非常简单 - 使得最经济高效的裁剪需要按照这两条规则进行。 – Migol