给定两个数组A和B,每个数组都包含n个非负整数,从A的末尾删除a个元素和从B的末尾删除b个元素。将这样的操作的成本评估为X*Y,其中X是从A中删除的a个元素的和,Y是从B中删除的b个元素的和。一直重复这样的操作,直到两个数组都为空。目标是最小化总成本。
使用动态规划,并且一个最优策略总是只从A或B中取一个元素,可以找到O(n^3)的解决方案。现在我想知道是否有更快的解决方案?
编辑:从评论@recursive中窃取一个示例:
A = [1,9,1],B = [1, 9, 1]。可能以成本20进行操作。(1) * (1 + 9) + (9 + 1) * (1)
使用动态规划,并且一个最优策略总是只从A或B中取一个元素,可以找到O(n^3)的解决方案。现在我想知道是否有更快的解决方案?
编辑:从评论@recursive中窃取一个示例:
A = [1,9,1],B = [1, 9, 1]。可能以成本20进行操作。(1) * (1 + 9) + (9 + 1) * (1)