477. Number Sequence Game
https://projecteuler.net/problem=477
给定由N个数字排成一排所组成的数列S,进行如下的数列游戏:
两个玩家轮流行动,在一个回合中,玩家必须移除数列的第一个或最后一个数。
玩家的得分为他所移除的所有数的和。
现假设每个玩家都采取了最佳策略。
例如当N=4及S={1,2,10,3}时,每个玩家采取的最佳策略如下:
‧玩家1:移除第一个数1。
‧玩家2:移除最后一个数3。
‧玩家1:移除最后一个数10。
‧玩家2:移除第一个数2。
玩家1的得分是1+10=11。
令F(N)为当双方玩家皆采取最佳策略时,
玩家1在S={S_1, S_2, ... S_N}定义如下时的得分:
‧S_1 = 0
‧S_(i+1) = (S_i^2 + 45) mod 1000000007
这数列前几项为S={0, 45, 2070, 4284945, 753524550, 478107844, 894218625, ...}。
已知F(2) = 45、F(4) = 4284990、F(100) = 26365463243、F(10^4) = 2495838522951。
请求出F(10^8)。