1 条题解

  • 0
    @ 2025-8-24 21:34:30

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar Sooke
    做被自己雪藏的耳廓狐 | https://codeforces.com/profile/Sulfox

    搬运于2025-08-24 21:34:30,当前版本为作者最后更新于2019-04-02 19:40:23,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    前言

    本文将对此题的关键结论进行粗略证明。似乎此前都只有找规律、而没有提到证明的题解?


    预备

    前置知识:SG 函数。篇幅关系就不扯了。

    f(x)f(x)xx 的二进制末尾首个 00 的出现位置(标号从 00 开始)。例如 f(5)=(101)2=1f(5) = (101)_2 = 1

    sg(x, y)\mathrm{sg}(x,\ y) 为一组分别有 x+1,y+1x + 1,\,y + 1 个石子的 sg\mathrm{sg} 值。注意有 +1+1

    SzS_z 表示满足 x+y+1=zx + y + 1 = zsg(x,y)\mathrm{sg}(x,\,y) 构成的自然数集合。特别地,S0=S_0 = \varnothing


    引理

    引理 11sg(0,0)=0\mathrm{sg}(0,\,0) = 0

    终止局面的 sg\mathrm{sg} 值为 00

    引理 22sg(x,y)=mex(SxSy)\mathrm{sg}(x,\,y) = \mathrm{mex}(S_x \cup S_y)

    SG 函数经典结论。后继局面可以分割 x+1x + 1y+1y + 1 。注意事先的定义,SxS_x 不是 Sx1S_{x-1}Sx+1S_{x+1}


    结论

    可能要叫“命题”?既然都知道了就当结论吧。(数学不好)

    结论 11SzS_z 等同于 zz 二进制下 11 的位置集合。例如 S5={0,2}S_5 = \{0,\,2\}

    辅助结论。

    结论 22sg(x,y)=f(x  y)\mathrm{sg}(x,\,y) = f(x\ |\ y) 。例如 sg(1,4)=f(5)=1\mathrm{sg}(1,\,4) = f(5) = 1

    关键结论。


    证明

    考虑归纳法证明以上两个结论。即逐步放大 zz ,证明该 zz 下结论 11 及满足 x+y=zx + y = z 的结论 22 的正确性。

    根据引理 11 ,结论 22z=0z = 0 时正确。假设已证 z1z - 1 时结论 22 的正确性,考虑 SzS_{z} 包含元素 pp 的条件。

    由定义和结论 22 可知,需存在 x+y=z1x + y = z - 1f(x  y)=pf(x\ |\ y)=p ,得 x,yx,\,y 在二进制下,第 pp 位都为 00 ,第 0p10 \sim p - 1 位都至少有一个是 11

    考虑最劣极限,第 0p10 \sim p - 1 位只有其中一个是 11 ,由于交换律,这些 11 都在 xx 中是没有关系的

    此时,因为 x+y+1=zx + y + 1 = z ,模拟二进制运算(+1+ 1 会导致上述所有 11 进位到第 pp 位),zz 的第 pp 位为 110p10 \sim p - 1 位为 00

    反观最优极限下,yy 的第 0p10 \sim p - 1 位也都是 11 ,实际上,这些位不管怎么安排 0,10,\,1 ,丝毫不影响 zz 的第 pp 位为 11 的事实(见上方粗体文字)。

    zz 二进制第 pp 位为 00 时,SzS_{z} 不可能包含元素 pp 。为 11 时,显然令 x=2p1,y=z2px = 2^{p} - 1,\,y = z - 2^p 即可满足条件。

    既然有了 zz 时结论 11 的正确性,不妨以此推出 zz 时结论 22 的正确性。

    $$\mathrm{sg}(x,\,y) = \mathrm{mex}(S_x \cup S_y)=\mathrm{mex}(S_{x\ |\ y}) = f(x\ |\ y) $$

    根据结论 11SS 是 11 的位置集合,易证 SxSy=Sx  yS_x \cup S_y = S_{x\ |\ y} ,并且 x  yx+y=zx\ |\ y \leqslant x + y = z 在已证范围内。同时,mex\mathrm{mex} 是最小未出现自然数,配上位置集合,正好就是 ff 的定义。故可证任意 zz 下两个结论。

    • 1

    信息

    ID
    1151
    时间
    1000ms
    内存
    125MiB
    难度
    5
    标签
    递交数
    0
    已通过
    0
    上传者