讨论 / 该题的数学方法
zh57184440 2014-02-18 07:44:59
点我顶贴 收藏 删除
我们假设有5个球: 其起始标记分别为X1,X2,X3,X4,X5.

我们假设X5是其中的最大值。

如果我们使用起始标记为X5的球作为能量聚合起点,那么我们将得到能量多项式为:

e(X5) = X5*X1*X2 + X5*X2*X3 + X5*X3*X4 + X5*X4*X5;

如果我们使用起始标记为X4的球作为能量聚合起点,那么我们又得到另一组能量多项式:

e(X4) = X4*X5*X1 + X4*X1*X2 + X4*X2*X3 + X4*X3*X4;

我们将e(X5)作一下形变:

e(X5) = X5*X1*X2 + X5*X2*X3 + X5*X3*X4 + X5*X4*X5;

= X4*X5*X5 + X5*X1*X2 + X5*X2*X3 + X5*X3*X4;

比较e(X4):

e(X4) = X4*X5*X1 + X4*X1*X2 + X4*X2*X3 + X4*X3*X4;

注意到在我们的假设中,X5最大,也就是说X5>X4,那么式中e(X5)一定大于e(X4).

该假设对于任意N(N>3)个球都成立。

也就是说,如果我们能在球中找到最大的起始标记值,那么以这个球为起点开始聚合一定获得的是大聚合能量。

如果我们修改下假设,将X4等于X5,但X4或X5是X1-X5中最大的数。

那么我们可以发现e(X5) = e(X4),也就是说,如果起始标记值为最大标记值的有多个球都是,那么选用其中任何一个球作为起点都能获得最大聚合能量。

#1 lyanqq1995@2014-09-27 23:06:05
回复 删除
这个数学证明显然有问题

举个例子,假设有5个球,起始标记分别为:9,1,1,1,10

若以5号球为起点,能量值为:10*9*1+10*1*1+10*1*1+10*1*10=210

若以4号球为起点,能量值为:9*1*1+9*1*1+9*1*10+9*10*9=918

显然4号球所得能量值更大,然而9<10

至于为什么这样,这里不做赘述了

#2 赤雪炎冰@2015-10-30 19:52:29
回复 删除
那可不可以这样算:

比如e(X5) = X5*X1*X2 + X5*X2*X3 + X5*X3*X4 + X5*X4*X5

= x5*(X1*X2 + X2*X3 + X3*X4 + X4*X5)

那么就可以开三个数组分别是输入的X[],以及存储X[i]*X[i+1]的Y[],还有比如存e(X5)的e[]

最后在对e[]求最大

#3 lyyzlxc@2016-07-08 23:00:30
回复 删除
这题还有考虑有两个或多个并列最大的
查看更多回复
提交回复