假设,我们有一个k个数字的排序列表。现在,我们要将这个排序列表转换为具有连续数字的列表。唯一允许的操作是我们可以增加/减少一个数字。执行每一个这样的操作都会导致总成本增加一倍。
现在,如何在如上所述转换列表时最小化总成本?
我的一个想法是获取排序列表的中位数并将数字排列在中位数周围。之后,只需添加新创建的列表和原始列表中相应数字之间的绝对差。但是,这只是一种直观的方法。我没有任何证据。
PS:
Here's an example-
Sorted list: -96, -75, -53, -24.
We can convert this list into a consecutive list by various methods.
The optimal one is: -58, -59, -60, -61
Cost: 90
这是Topcoder 问题的一个子部分。