1 条题解
-
0
自动搬运
来自洛谷,原作者为

MatrixGroup
删繁就简搬运于
2025-08-24 23:06:01,当前版本为作者最后更新于2024-11-16 16:41:55,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
前言
「经过数学家的不懈努力」是 Nim 积相关题解不可避免的一环……吗?
本文旨在勾勒部分 Nim 积性质的证明,有了这些性质后数据结构优化是不难的,可以参考其它题解。
更具体的介绍可以参考这篇文章(仍在更新中!)。
本文参考了《On Numbers And Games》的第六章。
对于不理解何为「序数」的读者,可以自行将文中所有「序数」换为「非负整数」。
如果你学过一定的抽象代数,你可以把文中的「对加法封闭」「对加法、乘法封闭」「对四则运算封闭」「所有多项式方程均有解」替换成「是群」「是环」「是域」「代数闭」。(因为异或意义下 ,一个数自然有相反数,因此可以不考虑减法)
在集合论中,冯诺依曼表示法的序数 就是集合 ,其中 是序数。本文不区分这两者。例如,当我们说到「 对四则运算封闭」的时候,也就是说「(在异或和 Nim 积意义下)对四则运算封闭。」
本文中,方括号 中的运算为通常的序数运算,而其外部的运算为 Nim 运算。
引子
假如我们想在所有序数上定义一个加法和一个乘法,使得它们对四则运算封闭,并且它“字典序最小”(这个概念并不严格),应该怎么做?
先考虑加法吧。
显然不会有问题,因此 就是这个域上的零元。故而 。
不会有问题,不就是特征【最小的 满足所有数加 遍等于 】为 嘛。
是几?它不能等于 ,,,否则就和域有加法逆元(因此有消去律)矛盾了。因此 。
这启发我们递归地定义
$$\alpha+\beta=\operatorname{mex}(\{\alpha+\delta|\delta<\beta\}\cup\{\gamma+\beta|\gamma<\beta\}) $$据此列出表格
$$\begin{array}{c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|} +&0&1&2&3&4&5&6&7&8&9&10&11&12&13&14&15\\\hline 0&0&1&2&3&4&5&6&7&8&9&10&11&12&13&14&15\\\hline 1&1&0&3&2&5&4&7&6&9&8&11&10&13&12&15&14\\\hline 2&2&3&0&1&6&7&4&5&10&11&8&9&14&15&12&13\\\hline 3&3&2&1&0&7&6&5&4&11&10&9&8&15&14&13&12\\\hline 4&4&5&6&7&0&1&2&3&12&13&14&15&8&9&10&11\\\hline 5&5&4&7&6&1&0&3&2&13&12&15&14&9&8&11&10\\\hline 6&6&7&4&5&2&3&0&1&14&15&12&13&10&11&8&9\\\hline 7&7&6&5&4&3&2&1&0&15&14&13&12&11&10&9&8\\\hline 8&8&9&10&11&12&13&14&15&0&1&2&3&4&5&6&7\\\hline 9&9&8&11&10&13&12&15&14&1&0&3&2&5&4&7&6\\\hline 10&10&11&8&9&14&15&12&13&2&3&0&1&6&7&4&5\\\hline 11&11&10&9&8&15&14&13&12&3&2&1&0&7&6&5&4\\\hline 12&12&13&14&15&8&9&10&11&4&5&6&7&0&1&2&3\\\hline 13&13&12&15&14&9&8&11&10&5&4&7&6&1&0&3&2\\\hline 14&14&15&12&13&10&11&8&9&6&7&4&5&2&3&0&1\\\hline 15&15&14&13&12&11&10&9&8&7&6&5&4&3&2&1&0\\\hline \end{array} $$稍微验证一下发现它确实符合交换律、结合律……等等这不就是异或吗?怎么证明呢?
还是先来考虑一下乘法吧。首先 ,那 就不能是 了,那就 吧。好, 就是幺元了!那么 。 等于多少?可以是 吗?这样的话 $(2+1)\times(2+1)=2\times2+1\times2+2\times1+1\times1=0$,似乎不太对。可以是 吗? 已经是 了啊。那就 ?暂时看起来没什么问题。
等等我们发现了什么……,因此两个数的平方不能相同!这个性质很优美诶。
因为 ,由分配律 相关的都做完了。
是多少?显然不能为 。如果是 的话,那 得 , 的话也不行(因为 )。那么就最小是 了。
。
那 是多少?根据之前的结果,它不能等于 。能等于 吗?这意味着 是 的根。可是这是 !而 不能为 。因此 也不行。那就 吧。先看着……
好像导致 矛盾的点都是 ?那就让这些全都不为 即可。这启发我们定义
$$\alpha\beta=\operatorname{mex}\{\alpha\delta+\gamma\beta+\gamma\delta|\gamma<\alpha,\delta<\beta\} $$据此列出表格
$$\begin{array}{c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|c|} \times&0&1&2&3&4&5&6&7&8&9&10&11&12&13&14&15\\\hline 0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0\\\hline 1&0&1&2&3&4&5&6&7&8&9&10&11&12&13&14&15\\\hline 2&0&2&3&1&8&10&11&9&12&14&15&13&4&6&7&5\\\hline 3&0&3&1&2&12&15&13&14&4&7&5&6&8&11&9&10\\\hline 4&0&4&8&12&6&2&14&10&11&15&3&7&13&9&5&1\\\hline 5&0&5&10&15&2&7&8&13&3&6&9&12&1&4&11&14\\\hline 6&0&6&11&13&14&8&5&3&7&1&12&10&9&15&2&4\\\hline 7&0&7&9&14&10&13&3&4&15&8&6&1&5&2&12&11\\\hline 8&0&8&12&4&11&3&7&15&13&5&1&9&6&14&10&2\\\hline 9&0&9&14&7&15&6&1&8&5&12&11&2&10&3&4&13\\\hline 10&0&10&15&5&3&9&12&6&1&11&14&4&2&8&13&7\\\hline 11&0&11&13&6&7&12&10&1&9&2&4&15&14&5&3&8\\\hline 12&0&12&4&8&13&1&9&5&6&10&2&14&11&7&15&3\\\hline 13&0&13&6&11&9&4&15&2&14&3&8&5&7&10&1&12\\\hline 14&0&14&7&9&5&11&2&12&10&4&13&3&15&1&8&6\\\hline 15&0&15&5&10&1&14&4&11&2&13&7&8&3&12&6&9\\\hline \end{array} $$稍微验证一下发现它确实符合交换律、分配律……而且似乎每 以内对乘法封闭?而因为消去律一定有一个 满足 ,所以就对四则运算封闭了……?怎么证明呢。
加减乘除
定义 . 对于任意序数 ,我们递归定义它们的异或(Nim 和)为
$$\alpha+\beta=\operatorname{mex}(\{\alpha+\delta|\delta<\beta\}\cup\{\gamma+\beta|\gamma<\beta\}) $$定义 . 对于任意序数 ,我们递归定义它们的 Nim 积为
$$\alpha\beta=\operatorname{mex}\{\alpha\delta+\gamma\beta+\gamma\delta|\gamma<\alpha,\delta<\beta\} $$我们记 为一变量,它能取值所有 的序数和部分 的序数。(即,其取值范围的 为 )如果 的定义式/计算式为 ,称 的所有元素为 的排除项。
定理 . 对于任意序数 , 当且仅当 。
证明 . 充分性显然。必要性考虑反证。若 ,不妨设 ,则 为 的一排除项,矛盾。
定理 .(加法的冗余定理)对于任意序数 ,
$$\alpha+\beta=\operatorname{mex}(\{\alpha+\beta^*|\beta^*\}\cup\{\alpha^*+\beta|\alpha^*\}) $$证明 . 显然 的所有排除项都被排除了,而其它的元素排除项含有 ,故右侧取值为 ,即 为 。
定理 . 对于任意序数 ,有
证明 . 直接归纳即可。注意第三条要用到冗余定理。
推论 . (多个数的加法计算式)在证明第三条的归纳过程中,我们可以用归纳类似地证明:对于任何 个序数 ,有:
$$\sum_{i=1}^n\alpha_i=\operatorname{mex}\bigcup\limits_{i=1}^n\{\sum_{j=1}^n\begin{cases}\alpha&j=i\\\alpha_j&j\neq i\end{cases}|\alpha<\alpha_j\} $$定理 . 对于任意序数 ,有 。
证明. 和 均无排除项,即证。
定理 . 对于任意序数 , 当且仅当 或 。
证明. 充分性显然。必要性考虑反证。若 ,不妨设 ,而 ,故 的排除项有 ,矛盾。
定理 .(乘法的冗余定理)对于任意序数 ,有
$$\alpha\beta=\operatorname{mex}\{\alpha\beta^*+\alpha^*\beta+\alpha^*\beta^*|\alpha^*,\beta^*\} $$证明 . 显然 的排除项都被排除了。因此我们只需证 $\alpha\beta\neq \alpha\beta^*+\alpha^*\beta+\alpha^*\beta^*$ 即可。根据异或的自逆,这等价于 $\alpha\beta+\alpha\beta^*+\alpha^*\beta+\alpha^*\beta^*\neq 0$。显然,其它三者之和为最大的一者的排除项,即证。
定理 . 对于任意序数 ,有
证明 . 直接归纳即可。注意第三条和第四条要用到冗余定理。
推论 .(多个数的乘法计算式)在证明第三条的归纳过程中,我们可以用归纳类似地证明:对于任何 个序数 ,有:
$$\prod_{i=1}^n\alpha_i=\operatorname{mex}\{\sum_{I\subsetneq\{1,2,\cdots,n\}}\prod_{j=1}^n\begin{cases}\alpha_j&j\in I\\\beta_j&j\not\in I\end{cases}|\beta_j<\alpha_j\} $$定义 . 对于任意序数 ,定义
$$S=\{0\}\cup\{\gamma^{-1}(1+(\alpha+\gamma)\delta)|0<\gamma<\alpha,\delta\in S\} $$则定义 。对于任意序数 ,定义 。
(注:这个 是一个递归的定义,即 包含了上述操作在有限步以内能生成的所有数。)
定理 .
- 对于任何序数 ,设 为 的一排除项,则 。
- 对于任何序数 ,设 为 的一(冗余)排除项,。
- 对于任何序数 ,。
证明 . 考虑归纳。
- 若 显然,否则设 。则 $1+\alpha\beta=\gamma\gamma^{-1}+\alpha\beta=\gamma^{-1}(\alpha+\gamma+\alpha(\alpha+\gamma)\delta)=\gamma^{-1}(\alpha+\gamma)(1+\alpha\delta)$。显然 ,又因 有 不为 ,根据归纳假设又有, 不为 ,故乘积不为 ,即证。
- 设 $\beta=\gamma\alpha^{-1}+\alpha(\alpha^{-1})^*+\gamma(\alpha^{-1})^*$,其中 为 的一排除项。若 等于 ,这就是前一条所证的。否则因为 $\lambda=\gamma^{-1}(1+(\alpha+\gamma)(\alpha^{-1})^*)$ 也为 的一排除项,又因为 ,故 。
- 显然 ,因为 。而由 2 得 的排除项不含 ,即证。
扩张,扩张,扩张
定理 . 设 不对加法封闭,则 ,其中 为字典序最小的一对 的元素满足 不在 中。
证明 . 显然 ,但是 的排除项都在 中。(这是因为字典序更小了)即证。
定理 . 设 对加法封闭,则对于任意 和 有 。
(例. 对加法封闭,故 。)
证明 . 考虑归纳。左侧的排除项为:
- ,其中 。这是因为带余除法。
- ,其中 。
根据归纳假设,左侧即为 。而由于 形成一个群, 恰好能取遍所有的 !故根据归纳假设,所有的排除项为 和 ,这恰为所有小于 的数,即证。
定理 . 设 对加法封闭但不对乘法封闭,则 ,其中 为字典序最小的一对 的元素满足 不在 中。
(例. 对加法封闭但不对乘法封闭,字典序最小的 ,故 。)
证明 . 显然 ,但是 的排除项都在 中。(这是因为字典序更小了,且加法封闭)即证。
定理 . 设 对加法和乘法封闭,对加法封闭的 满足 中的非零元都在 中有乘法逆元(即与其乘积为 的元素),则对于任意 ,有 。
(例. 对加法和乘法封闭,且 中的所有非零元都在 中有逆,故 。)
证明 . 考虑归纳。 的排除项为 $\Delta\alpha+\beta\alpha+\beta\gamma,\beta<\Delta,\alpha<\gamma$。只需证对于任何 ,有 能取遍所有 $[\Delta\alpha+\delta]=[\Delta\alpha]+\delta=\Delta\alpha+\delta$。取 即可。
定理 . 设 为对四则运算封闭但有些多项式方程无解,设 为系数在 中,在 中没有根的字典序最小的多项式(从高次项到低次项依次比较)。则 。对于任何次数比 小的多项式 ,有 。
(注意序数乘法可能没有交换律,若 ,这里 , 从大到小加。)
(例。 对四则运算封闭,但是有无根多项式 ,故 。)
(注:你问对加、乘封闭但没法做除法的情况去哪里了?事实上有,但是书中的证明有一定问题,而且我们用不到,就咕了。)
证明 . 设 的次数为 。对于任何一个 ,考虑 的排除项为:
$$\prod_{i=1}^N\alpha_i=\operatorname{mex}\{\sum_{i=0}^{N-1}\sum_{I\subsetneq\{1,2,\cdots,N\},|I|=i}\Delta^i\prod_{j\not\in I}\beta_j|\beta_j<\alpha_j\} $$先归纳地证明若 则 次多项式 有 。
- 先考虑 。只需证明它的排除项能取遍所有 $\sum\limits_{i=0}^{N-1}\Delta^i\gamma_i=[\sum\limits_{i=0}^{N-1}\Delta^i\gamma_i]$ 即可。考虑多项式 。因为 次多项式均有根,它一定可以因式分解为一次因式。设其根为 ,重根算多次。根据 Vieta 定理, 即为所求。
- 再考虑 ,其中 。它的排除项为 $\{\Delta^N\gamma+q(\Delta)(\gamma+\delta)|\gamma<\delta,\deg q<N,[x^i]q(x)\in \Delta\}$。只需证明对于任何 , 能取遍每个 即可。因为 ,故其有逆元,而根据归纳假设,次数更小的多项式乘 的元素正常乘即可,故取 即可。
- 再考虑 。根据归纳假设,次数更小的多项式加法是正常算的,故 为一个群。因此设 ,则 $p'(\Delta)=\Delta^N\delta+q'(\Delta)=[\Delta^N\delta]+[q'(\Delta)]=[\Delta^N\delta+q'(\Delta)]=[p'(\Delta)]$。
再证 。设 (显然,若最高次项系数不为 ,则系数均乘以其逆元字典序更小)。考虑 。和以上过程类似,比 小(等价于字典序小)的均为 的排除项。但 不是,否则根据 Vieta 定理 就在 内有根了。因此 ,即 。
定理 . 设 对四则运算封闭,且所有多项式方程均有根。则对于任意多项式 有 。
证明 . 和上述定理类似。
推论 . 设 对四则运算封闭, 不是任何 上多项式方程的根。
加法
定理 . 若 对加法封闭,则下一个对加法封闭的序数为 。
证明 . 显然 和 两两不同,所以至少要包含它们。所以 的不对加法封闭。而因为 ,所以 对加法封闭。
定理 . 每个序数 都可以写成 ,其中 有限, 严格递减。且 $\alpha=[2^{\beta_0}]+[2^{\beta_1}]+\cdots+[2^{\beta_{n-1}}]$。
(例如,。)
(注:这也就说明了加法就是异或。)
证明 . 设 ,则取最大的 ,设 ,显然 ,故 。归纳即可。
扩张(试试看!)
来试着通过扩张的几个定理来扩张,得到一些对四则运算封闭的序数吧!
首先最小的非平凡的肯定是 。我们知道,接下来需要找到一个无解方程。显然一次方程就是除法,不可能无解。二次方程呢?对于有限的对四则运算封闭的 ,如果有一个无解的二次方程,那下一个就是对四则运算封闭的 了。(记 为 ,这其实就是 ,其中 为字典序最小的无根多项式)
定理 . 对于有限的 ,若 对四则运算封闭,则对任意 ,存在 ,。
证明 . 显然 为单射,故为满射。
所以不需要考虑 型的了。那 呢?
定理 . 对于有限的 ,若 对四则运算封闭,恰有半数 ,满足不存在 ,。
证明 . 显然 当且仅当 ,即 或 ,故恰有一半的 能被取到。
因此有限情况的扩张都是 ,于是我们做完了……?等等扩张完还是封闭的吗?显然加、乘是封闭呢。除呢?(其实有更一般的关于扩张的证明,但是这里不必要)
定理 . 对于有限的 ,若 对加法、乘法封闭,则 对四则运算封闭。
证明 . 设 ,则 为单射,故为满射,故存在 。
好,于是我们有:
定理 . 所有有限的对四则运算封闭的序数为:
其中每一个是上一个的[平方]。
证明 . 刚才所讨论的就是这个。
推论 . 若 ,则 。
等等,知道是域有什么用,到底怎么算啊? 的过程中,最小的无解方程为 ,故 。 的过程中,最小的无解方程为 ,故 。在 的过程中呢?对于每个 计算 ,发现恰好是 各一个……?因此 。
更一般地,我们考虑证明:
定理 .
- 对于任何非负整数 ,若 ,则 。
- 对于任何正整数 , 与 的最高位相同。换言之,若 ,则 。
- 对于任何非负整数 ,
- 对于任何非负整数 ,。
证明 . 以下归纳不会出现循环论证交给读者作为练习。
- 因为 ,且 是一个群,因此只需证明 的情况 即可。设 ,则 。(因为 对四则运算封闭,所以乘法和直接乘没区别)因此 。依归纳假设,这即为 。按照乘法分配律展开后,每一项的[普通]积都不超过 ,因此 Nim 积也不超过 (因为 Nim 积的排除项个数为普通积),即小于 ,故和小于 。
- 根据 1.,有 是 到 的双射,同时也是 到 的双射,因此是 到自身的双射,即证。自然推出后半句。
- 之前证明过前者的大小刚好为 ,而取值范围也在 内,即证。
- 根据 3.,最小需要扩展的多项式为 ,即 $[2^{2^n}]^2=[2^{2^n}]+[2^{2^n-1}]=[2^{2^n}+2^{2^n-1}]=[\dfrac 32\times2^{2^n}]$。
计算
那么问题来了,我们怎么对 Nim 数进行计算呢?
定理 . 假设位运算的时间复杂度为 ,则存在 的算法,给定 ,计算 。
证明 . 之前证明了 是异或,调用即可。
定理 . 假设位运算的时间复杂度为 ,则存在 的算法,给定 ,计算 。
证明 . 时可以 计算。若 ,设 $\alpha=[2^{2^k-1}],B=[2^{2^{k-1}}],\beta=[2^{2^{k-1}-1}]$,则 。设 ,则 $a\alpha=aB\beta=\beta B(Bp+q)=B^2\beta p+B\beta q=\beta p(B+\beta)+\beta qB={\color{red}(p+q)\beta}B+{\color{blue}p\beta\beta}$。递归计算 ,则答案为 。时间复杂度 。
定理 . 假设位运算的时间复杂度为 ,则存在 的算法,给定 ,计算 。
证明 . 时可以 计算。若 ,设 。设 ,则 $ab=(pB+q)(rB+s)=prB^2+(ps+qr)B+qs=pr(B+\beta)+(ps+qr)B+qs=(pr+ps+qr)B+pr\beta+qs$。递归计算 $L_0=(p+q)(s+r),L_1=qs,L=L_0+L_1,R_0=pr,R_1={\color{red}R_0\beta},R=R_1+L_1$,则答案为 。时间复杂度 。
关于本题
我们还需要证明一个性质:
定理 . 对于对四则运算封闭的 ,任意 有 。
证明 . 时显然。否则 是 到本身的双射,且 映射到 。因此 $\prod\limits_{y=1}^{[n-1]}y=\prod\limits_{y=1}^{[n-1]}xy$,两边消去 可得 ,即 。
以上。
- 1
信息
- ID
- 10911
- 时间
- 3000ms
- 内存
- 512MiB
- 难度
- 7
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者