交换操作后数组的最大可能值

时间:2015-11-15 08:32:10

标签: arrays max dynamic-programming

给出一个大小为N的数组(比方说) A1,A2,... AN
给定预定义的交换操作列表:
(a1,a2),(b1,b2),...(x1,x2)

交换操作后数组的最大总和是多少?
如何使用动态编程,即递归公式?

例如, 数组= {3,5,9,6,1}
给定掉期操作:
{(9,3),(1,2),(8,6)}

所以,我们可以交换" 3"来自数组" 9",因为(9,3)是给定的交换操作 同样,我们可以交换" 1"用" 2"因为(1,2)是给出的交换操作 然后" 6"将被" 8"取代。

所以,新阵列= {9,5,9,8,2}
sum = 9 + 5 + 9 + 8 + 2 = 33 ,这是交换操作后的最大值。

那么,如何使用动态编程来解决它? 还有其他方法吗?

0 个答案:

没有答案