SG定理

先放一个 SG 函数的定义和 SG 定理

SG 函数:
\(SG(p) = \text{mex}\ {SG(t)}\)

SG 定理:
\(\forall n\) 个独立的子图若 \(SG(1)\ \oplus\ SG(2)\ \oplus\ ...\ SG(n) = 0\) 则先手必败, 否则先手必胜。

先考虑只有一个联通子图的时候,显然此时如果节点 \(p\) 可以到达一个必败的节点,那么 \(SG(p)\) 就一定 \(> 0\)

接下来我们考虑加入其他联通子图,若子图当前的状态分别是 \(a_i\)

显然由于 SG 函数的定义, \(a_i\) 可以移动到比 \(a_i\) 小的点,即

\(\because SG(p) = \text{mex}\ SG(t)\)

所以 \(\forall v < SG(p)\) 存在 \(SG(p) = v\)

至此问题已经转化为经典的 nim 问题,其解答即是 SG 定理的证明。

posted on 2025-01-29 14:08  FurinaHateComma  阅读(35)  评论(0)    收藏  举报

导航