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) 收藏 举报