题解 acwing202. 最幸运的数字

题目

思路

考虑直观的用式子表达题目中的限制:

\[\begin{aligned} L \mid \frac{10^{x}-1}{9}\times 8 \end{aligned} \]

让两边同时乘 \(9\)

\[\begin{aligned} 9L \mid (10^{x}-1)\times 8 \end{aligned} \]

此时 \(9\) 可以消掉:

\[\begin{aligned} L \mid (10^{x}-1)\times 8 \end{aligned} \]

继续简化,由于我们不知道 \((10^x-1)\) 这一项,所以考虑除 \(\gcd(L,8)\)

\[\begin{aligned} \frac{L}{d} \mid (10^{x}-1)\times 8 \end{aligned} \]

此时式中的 \(\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\) 之中)

所以考虑如下式子:

\[\begin{aligned} \frac{L}{d} \mid (10^{x}-1) \end{aligned} \]

变成同余式:

\[\begin{aligned} 10^{x}\equiv 1 \pmod{\frac{L}{d}} \end{aligned} \]

走投无路了,考虑欧拉定理解:

\[\begin{aligned} 10^{\phi(\frac{L}{d})}\equiv 1 \pmod{\frac{L}{d}} \end{aligned} \]

但是不一定保证最小,于是考虑思考最小正整数解与欧拉定理解的关系。有一个性质就是最小正整数解一定是欧拉函数解的因数。

证明如下:

反证法。如果设最小正整数解为 \(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\) 的。

posted @ 2024-09-01 17:52  PM_pro  阅读(17)  评论(0)    收藏  举报