首先我们从最基本的情况入手,分别讨论只有 1,2,31,2,3 个数时先手小爱可以获得的最高得分:
-
情况一 :只有 1 个数 a[1] 时,先手选择最佳策略一定会取这个数字,得分为 a[1] .
-
情况二 :总共有两个数 a[1],a[2] ,先手需要考虑取 max(a[1],a[2]) ,即两者中的更大者,这是显然的,因为此时先手只有一次选择机会,另一个数一定是后者的得分 .
-
情况三 : 总共有 a[1],a[2],a[3] 3 个数时,此时需要继续细分情况讨论 :
- 如果先手不选第一个数,那么他可以选择后两个数中的更大者,即 max(a[2],a[3]) 作为得分,对手的得分为 a[1]+a[2]+a[3]-max(a[2],a[3])
- 如果先手选择了第一个数,那么按照最佳策略对手会选择后两个数的更大者,对手得分 max(a[2],a[3]) ,先手得分为 a[1]+a[2]+a[3]−max(a[2],a[3])
- 我们发现了两个关键问题 :
- (1) 当其中一人利用最佳策略取得分数 s 后,对手会得到某一段前缀和 sum-s 的分数.
- (2) 情况三中后两个数的选择策略实际上和情况二中的选择策略是一致的,问题的性质是递归的 .
不妨设 f[1,i] 表示先手在 [1,i] 可以取得的最大分数,