給定木板由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