Misère Nim game
题目
跟 Nim 游戏一样,但是取走最后一个元素的人输。
结论
设 T = + ◯ i = 1 n a i T =\textcircled{ +}_{i=1}^n a_i T=+◯i=1nai
当 a_i 全为 1 时,显然可以根据 n 的奇偶性来判断。
当 a_i 中存在一个 >1 的元素时,则 T>0 <=> 先手必胜
这里先手必胜的含义是:一定可以取剩最后一个 1 ,然后让对方取,令对方输游戏。
扩展
若在正常的 Nim 游戏中 ,当 a_i 中存在 >1 的元素时,T>0 <=> 想赢就赢想输就输
因为此时, Nim 和 Misère Nim 中都可以获胜, Misère Nim 中获胜意味着可以取剩最后一个 1 ,让对方取,所以 想输就输 。
证明
设 a_i>1 的元素为非平凡元素。
当不存在非平凡元素时,证明显然。
当存在非平凡元素时:
引理 1
若一开始存在非平凡元素 ,那么按照 Nim 游戏的策略,T>0 -> T=0 -> ... -> T>0 -> T=0 -> T>0 一定会存在某一个 T>0 的时刻,非平凡元素只有恰好一个。
引理 1 证明
首先,对于任意 T=0 的状态,如果元素中存在非平凡元素,那么肯定不止一个。因为高位的异或和也为 0 ,所以不能单独存在。
从先手开始:
-
若当前非平凡元素只有一个的时候,结论显然。
-
否则,当前非平凡元素个数
>=2,那么当T>0 -> T=0时,由于只能操作一个元素,且T=0的时候,非平凡元素个数>=2 or =0,故T=0的时候非平凡元素个数一定是>=2的。当T=0 -> T>0时,也只能操作一个元素,故T>0时非平凡元素个数>=1,回到先手开始操作。
由于操作序列有限,所以一定会存在某一个 T>0 的时刻,非平凡元素只有恰好一个。
引理 1 证毕。
先手:
如果只存在一个非平凡元素,那么可以根据剩下平凡元素个数的奇偶性,将非平凡元素取完 or 取成平凡元素,那么这样就可以使得其必胜。
否则,先手还是和 Nim 游戏一样,将 T>0 的状态转移到 T=0 的状态。
由于引理 1 ,先手一定会存在某一个 T>0 的时刻,非平凡元素只有恰好一个。
证毕。
