Once upon a time, there were two clever people named Alice and Bob. This is how the story begins...
\(N\) 为先手必胜局面,\(P\) 为先手必败局面。
先手被认为输的局势,我们可以称之为奇异局势。
小学奥数题:甲乙轮流报数至多报 77 个数,至少报 11 个数,从 11 开始,谁先报到 5050 谁就胜利。甲先报,有无必胜策略?
有两堆各若干个物品,两个人轮流从某一堆或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜。
设两堆分别剩余 \(x,y\) 的局面为 \((x,y)\)。
小范围暴力打表得到奇异局势(pair 之中小的放前面):
\[(0,0),(1,2),(3,5),(4,7),(6,10),(8,13),(9,15),(11,18),(12,20),\dots \]我们用 \((a_k,b_k)\) 表示。可以看出 \(b_k=a_k+k,a_k=\text{mex}\{a_1,b_1,\dots,a_{k-1},b_{k-1}\}\)
然后,通过「找规律」得到(在考场上不相信有人严谨证明,就是小范围打表得到的):
\[a_k=\lfloor k\phi\rfloor , b_k=\lfloor k\phi^2\rfloor , \phi=1.618\dots \]结论:异或和为 \(0\) 则 \(P\),否则 \(N\)。
猜想:可以用来证明 一组数在某进制下异或为 \(0\) ,则在其他进制下也为 \(0\)。
先手必胜:
异或和为 \(0\) 且每一堆都只有 \(1\) 个石子
异或和不为 \(0\) ,且至少有一堆多于 \(1\) 个石子
分道:\(sg(x)=\text{mex}\{sg(son)\}\)
分局面:\(sg(x)=\text{xor}\{sg(son)\}\)
算是 SG 例题。
在树上,我们可以进行这样一种博弈游戏:
给出一个有 \(n\) 个点的树,有一个点作为树的根节点,游戏者只有两人。
游戏者轮流从树中删去边,删去一条边后,不与根节点相连的部分将被移走。
谁无路可走谁输。
简单的树手推一下各个 SG 值,然后找规律。
发现 \(sg(rt)=\text{xor}\{(sg(son)+1)\}\)。
证明对树的大小归纳,不难,略。
当然类似的树上博弈也类似做法,即 SG 扩展性好。