这个博弈中,玩家从当前数组中任选一个元素 aj(其在当前数组中的位置为 p),并得到分数 aj−p,随后删除该元素。两人轮流、都采取最优策略,判断先手 Koa 的最终结果。
关键观察:当前位置 p 等于“当前仍然存在且下标小于 j 的元素个数 + 1”。如果把原数组下标从 0 开始,设还未被删除的元素集合用一个比特掩码 mask 表示,则当选择下标 j 时:
Koa 和她的朋友进行如下游戏。
初始有长度为 n 的非负整数数组 a={a1,a2,…,an}。
他们轮流进行操作,Koa 先手。在每次操作中,玩家选择原数组下标为 j 的元素(其值为 aj )。记它在当前数组中的位置为 p (从 1 开始计数),则本次操作得分为 aj−p 。删除该元素后,原数组中位于其后的元素向前移动一个位置。