因此当 n = 2 时移除第二堆石子的玩家输掉游戏,那么此时两位玩家均不会进行第二种操作,否则会直接输掉游戏。因此此时两位玩家会轮流进行第一种操作,直到第二堆石子被移除。显然获胜的玩家和第二堆石子数量 a_2 的奇偶性有关。我们有:当 a_2 为偶数时,Alice 获胜;否则 Bob 获胜。
SubTask 2
不难发现在 a_i 按降序排列后游戏的任何时刻场上剩余的 a 序列均为原序列的一个前缀全局删去某个数后形成的。因此不妨设 f_{i, j} 表示当场上剩余的 a 序列为原序列的前缀 i 的所有元素均减去 j 后得到的时先手是否必胜。枚举两种操作之后的局面即可实现转移,复杂度为 \mathcal{O}(nV),其中 V = \max\limits_{2 \le i \le n} a_i。
让我们继续分析上述特殊操作的达成条件,若某一方希望对某堆石子达成此操作以改变操作数量奇偶性,设该堆石子数量为 w,那么双方需要连续操作 w 次第一种操作,同时该堆石子不能是仅剩的一堆石子。可以发现当 w \ge 2 时一定不可能达成此操作。因此某一方可以达成上述操作必须满足当前石子数量最小的一堆石子数量为 1。而这种情况只会在游戏刚开始时出现。