@crella
#16
没看懂诶,
1.“凹函数”+“任意 a<i<j<b 满足 a+b=i+j” ==> “恒有 f(a)+f(b)>f(i)+f(j)”
这是怎么推导的?凹函数的定义似乎和这个不搭边。。。
2.“所以对于 f(x)=x(x-1),当每两个 x[i]的差异越大时,∑f(x[i])取得最大值。”
似乎你的猜测是:给定一个集合 S={x1,x2,…,xm}为{n-m+1,1,1…,1},其余所有可能的集合{x1′,x2′,…,xm’}中的元素只能在 S 中最大和最小元素范围之间,所以基于 1,拓展成 f(x1)+f(x2)+…+f(xm)>f(x1′)+f(x2′)+…f(xm’)?
3.“因为 i-a=b-j,所以 f(b)-f(j)=λ(b-j)=λ(i-a)>μ(i-a)=f(i)-f(a),用中值定理,其中μ<i<j<λ”
如果上面推测正确的话,似乎这一点在证明中没有作用?
#18
如果你是说想通过遍历所有可能的离散数列来找出最大值的话,给出的伪码是不行的。我找到一个答案,可以生成所有符合条件的离散数列,看上去是正确的,但我没有证明: https://stackoverflow.com/questions/13988197/how-to-iterate-through-array-combinations-with-constant-sum-efficiently