最大化相邻元素的差异总和

时间:2015-02-06 15:04:47

标签: algorithm

给定整数N.我们需要找出PermutationSum,其中整数N的PermutationSum被定义为从1到N的所有数字排列中相邻元素的差的最大和。

示例设N = 3然后回答为3

说明:对于N = 3,可能的安排是:

{1,2,3} 
{1,3,2} 
{2,1,3} 
{2,3,1} 
{3,1,2} 
{3,2,1} 

布置{1,2,3}的PermutationSum值为2,即abs(1-2)+ abs(2-3)= 2

排列{1,3,2}的PermutationSum值为3.

排列{2,1,3}的PermutationSum值为3.

排列{2,3,1}的PermutationSum值为3.

排列{3,1,2}的PermutationSum值为3.

排列{3,2,1}的PermutationSum值为2.

因此,所有安排的PermutationSum的最大值为3.

我们需要找到给定N的最大值,其中N高达100000。

我有N!解。但它不适用于大N.

1 个答案:

答案 0 :(得分:2)

Graham Cormode在A047838中提供了一个解决方案:答案恰好是楼层(N ^ 2/2 - 1)。