阶梯Nim问题

Posted nublity

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阶梯Nim问题相关的知识,希望对你有一定的参考价值。

问题形式

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

结论

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

证明

  
  拿走某一堆石子的一部分,相当于将某个奇位置的石子移动到它左边的偶位置上。
  
  如果大家都只动奇位置的石子,那么这等价于两人在玩Nim游戏。
  
  但如果有人想打破规则呢?
  
  假设Nim游戏先手必胜,那么先手肯定优先玩Nim游戏;如果后手试图破坏局面,将某个偶位置上的若干石子移动到了左边的奇位置i上,那么先手可以将这若干个刚移到i的石子继续移动到i左边的偶位置上,对Nim局面依然没有任何影响,除非后手回头来继续动奇位置的石子,那也只能是输。
  
  那么如果Nim游戏先手必败,也是同理,后手可以用相同的方式迫使先手玩Nim游戏,直到输为止。
  
  因此,奇数位置的石子的相关信息,就直接决定了阶梯Nim问题的结果。

转载于:https://www.cnblogs.com/RogerDTZ/p/9439540.html

以上是关于阶梯Nim问题的主要内容,如果未能解决你的问题,请参考以下文章

HDU 4315 Climbing the Hill [阶梯Nim]

BZOJ 1115: [POI2009]石子游戏Kam (阶梯nim)

HDU 5996 dingyeye loves stone [阶梯Nim]

题解Luogu P2972 [USACO10HOL]岩石和树木Rocks and Trees

P3480 [POI2009]KAM-Pebbles 阶梯NIM

51nod 1963 树上Nim