题解:P10507 Georgia and Bob
fish_love_cat · · 题解
我居然过了以后没写这题题解诶?来补了来补了。
话说这题当时我写的时候还没有题解来着,怎么转眼这么多了。
只看每个点的移动是不好做的,我们试图想一个办法描述当前局面并从中寻找性质。
一个很好的方法是用点与点之间的间隔数来描述,每个棋子移动时都会减少左侧的间隔,并在右侧扩大相同的数目。
如果你学习过阶梯 nim 并做过 P3480,那么你已经会做了。
把每个间隔看成一堆有着对应数目的石子,每次操作会从左侧拿取若干并放到右侧的堆中,最后把所有石子堆在最右侧的人获胜。
这就是阶梯 nim 最标准的形式啊!
根据阶梯 nim 的经典结论我们知道:先手必败当且仅当奇数堆中的石子数异或和为
套结论就做完了,代码略。
不给证明会被骂的吧。
我们注意到如果必败方对偶数堆进行操作,必胜方一定可以再移回偶数堆。
于是偶数堆没用,移到偶数堆相当于弃置。
那么奇数堆就等价于可以任意拿走若干石头,此时就是标准的 nim 游戏的形式了。
证明完毕。