$B$ 君的游戏
$Description$
$Solution$
打表好题*2
这道题使我对博弈论打表的理解加深了一些。
首先我们考虑对于一个数所造成的影响,只与他在二进制下 $1$ 的个数有关。
所以状态总数只有 $64$ 种。
我们根据上一题)的经验,可以知道本题的转移就是枚举一个数的所有子集并 $xor$ 起来。
但这题不能直接得到一个局面是否合法,所以需要结合 $SG$ 函数进行求解。
定义 $f(S) = \operatorname{mex}{g(\mathrm{S})}$ 表示最小的不在 $S$ 这个集合当中的自然数。
然后就得到了我们的打表程序。
1 | inline void Init () { |
最后,我们异或上所有的一的个数的 $SG$ 值即可。
$Code:$
1 |
|