阶梯NIM和树上NIM

阶梯NIM

问题形式

(n)个位置(1....n),每个位置上(a_i)个石子。有两个人轮流操作。操作步骤是:挑选(1.....n)中任一一个存在石子的位置(i),将至少1个石子移动至(i−1)位置(也就是最后所有石子都堆在在0这个位置)。谁不能操作谁输。求先手必胜还是必败。    

结论

问题等价于,求位置为奇数的(a_i)的异或和,若异或和等于0,则先手必败,否则先手必胜。你可能已经注意到这非常像Nim游戏。其实这个游戏恰好等价于:将每个奇数位置的数x看成一堆有x个石子的石子堆,然后玩Nim游戏。

为啥

如果是先手且必胜,按照NIM博弈的方式移动奇数号,如果对手也移动奇数号,那么继续,如果对手移动偶数号(对于奇数号产生了影响),那么先手将对手移动的石子往下再移动,即是把对手操作从奇数号移动到奇数号,没有改变,那么先手必胜,必败也是同理

树上NIM

问题形式:

给定一棵树,每个点有点权,两个人玩NIM游戏

结论

深度为奇数的点权异或起来,如果非0,先手必胜。

为啥

不也相当于二维的阶梯博弈

原文地址:https://www.cnblogs.com/graytido/p/13260887.html