我们假设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),也就是说,如果起始标记值为最大标记值的有多个球都是,那么选用其中任何一个球作为起点都能获得最大聚合能量。
举个例子,假设有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
至于为什么这样,这里不做赘述了
比如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[]求最大