2025-03-02:切蛋糕的最小总开销Ⅰ。用go语言,有一个大小为 m x n 的矩形蛋糕,我们需要将其切成 1 x 1 的小块。
给定两个数组,分别为 horizontalCut 和 verticalCut。horizontalCut 包含了 m-1 个元素,表示在水平线 i 切蛋糕的费用;而 verticalCut 包含了 n-1 个元素,表示在垂直线 j 切蛋糕的费用。
在每次操作中,可以选择非 1 x 1 的矩形蛋糕,进行以下任意一种切割:
1.沿着水平线 i 切割蛋糕,费用为 horizontalCut[i]。
2.沿着垂直线 j 切割蛋糕,费用为 verticalCut[j]。
每次切割后的蛋糕都被分成两个独立的部分,切割费用不受影响,始终保持初始值。
我们的目标是返回将整个蛋糕切成 1 x 1 小块的最小总切割费用。
1 <= m, n <= 20。
horizontalCut.length == m - 1。
verticalCut.length == n - 1。
1 <= horizontalCut[i], verticalCut[i] <= 1000。
输入:m = 3, n = 2, horizontalCut = [1,3], verticalCut = [5]。
输出:13。
解释:
沿着垂直线 0 切开蛋糕,开销为 5 。
沿着水平线 0 切开 3 x 1 的蛋糕块,开销为 1 。
沿着水平线 0 切开 3 x 1 的蛋糕块,开销为 1 。
沿着水平线 1 切开 2 x 1 的蛋糕块,开销为 3 。
沿着水平线 1 切开 2 x 1 的蛋糕块,开销为 3 。
总开销为 5 + 1 + 1 + 3 + 3 = 13 。
相似问题