题解 acwing202. 最幸运的数字
题目‘
思路
考虑直观的用式子表达题目中的限制:
让两边同时乘 \(9\):
此时 \(9\) 可以消掉:
继续简化,由于我们不知道 \((10^x-1)\) 这一项,所以考虑除 \(\gcd(L,8)\):
此时式中的 \(\frac{L}{d}\) 与 \(8\) 互质,于是考虑删去 \(8\),关于为什么能删掉:
由于整除相当于被除数的质因数减去除数的质因数,比如 \(6=2\times 3\) 与 \(3=3\) 相除就是 \(2=2\) 相当于减去了 \(3^1\) 这个质因数,不能整除就相当于除数有被除数没有的质因数。或次数更大。互质就代表对于 \(\frac{L}{d}\) 中的质因数,在 \(8\) 之中没有,所以对于整除式来说,\(\frac{L}{d}\) 中的质因数,已经全部出现在了 \(10^x-1\) 之中,那么这时,去除 \(8\) 中的质因数就不会有任何影响。(作为被除数的 \(\frac{L}{d}\) 的已经全部出现在了\(10^x-1\) 之中)
所以考虑如下式子:
变成同余式:
走投无路了,考虑欧拉定理解:
但是不一定保证最小,于是考虑思考最小正整数解与欧拉定理解的关系。有一个性质就是最小正整数解一定是欧拉函数解的因数。
证明如下:
反证法。如果设最小正整数解为 \(x_0\),\(\phi(\frac{L}{d})=qx_0+r(0<r<x_0)\)。如果有一个正整数解 \(10^{x_0} \equiv 1\pmod{\frac{L}{d}}\),那么就一定有 \(10^{qx_0} \equiv 1\pmod{\frac{L}{d}}\),此时 \(10^{\phi(\frac{L}{d})}\equiv 1 \pmod{\frac{L}{d}}\) 也成立,那么就说明 \(10^{r} \equiv 1\pmod{\frac{L}{d}}\),但是 \(0<r<x_0\) 所以有更小的正整数解,所以最小正整数解一定是欧拉函数解的因数。
那么我们枚举 \(phi(\frac{L}{d})\) 的因数即可,用快速幂,这样的复杂度是 \(O(\sqrt{\phi(\frac{L}{\gcd(L,8)})} \times \log \phi(\frac{L}{\gcd(L,8)})\) 的,可以接受,大概是 \(9 \times 10^5\) 的。

浙公网安备 33010602011771号