AT_wtf19_c2 Triangular Lamps Hard 解题报告

发布时间 2023-05-24 16:39:40作者: xiaoziyao

AT_wtf19_c2 Triangular Lamps Hard 解题报告:

做法参考自 WTF C2 Triangular Lamps Hard 別解法 by yosupo

下文的二进制运算均为 \(64\) 位无符号整数的运算。

注意到(乘法对应 nim 积,\(a\) 为任意数):

\[a^{x}(a+1)^y\oplus a^{x+1}(a+1)^y\oplus a^x(a+1)^{y+1}=0 \]

这意味着,令 \(a^x(a+1)^y\)\((x,y)\) 的势能,所有亮着的点势能和不变。

一个直接的想法是,任取两底数 \(a,b\),用其势能列出关于 \(x,y\) 的方程并解出其。这个做法只需保证 \(a,b\) 为数域下的原根,以及 \(\gcd(\log_a(a+1)-\log_b(b+1),2^{64}-1)=1\),通过枚举可找到这对 \((a,b)\)

还有一个遗留的问题:如何求 nim 积下的离散对数?这是我们已经解决过的问题,具体做法可参考我的博客 277 CF1310F Bad Cryptography

记 nim 积的运算复杂度为 \(C\),复杂度 \(O((n+\sqrt p)C\log n)\)(其中 \(p=6700417\),为 \(2^{64}-1\) 最大的素因子)。

代码会有的。