假设我们有N
个带正余额的账户B_1, ..., B_n
。
我们可以进行转账T(from,to,amount)
,该操作将在账户之间转移一定金额的余额。
我们已经知道了最优分配余额O_1, ..., O_n
。
问题是:如何找到最小的转账集合以实现最优分配?我们是否总能最多只用N-1
次转账就完成任务?
示例:
Balances {0}: 10, {1}: 40, {2}: 50
Optimal {0}: 20, {1}: 60, {2}: 20
T(2,0,10) => {0}: 20, {1}: 40, {2}: 40
T(2,1,20) => {0}: 20, {1}: 60, {2}: 20