专栏文章

题解:AT_tenka1_2017_f ModularPowerEquation!!

AT_tenka1_2017_f题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@minrvgn7
此快照首次捕获于
2025/12/02 07:20
3 个月前
此快照最后确认于
2025/12/02 07:20
3 个月前
查看原文
限于作者比较蒻,看完几篇题解后想了很久才想懂······ 感觉目前的几篇题解讲的不是太模糊就是太冗杂,故也在此记录一下自己的想法。
首先考虑扩展欧拉定理的经典题目 P4139 中的结论:一个数 xx 的迭代幂次(又称幂塔)xxxnx=xn\underbrace {x^{x^{x^{\dots}}}}_{共n个x}=x \uparrow\uparrow nnn 足够大时满足 xnx(n+1)(modm)x \uparrow\uparrow n \equiv x \uparrow\uparrow (n+1) \pmod m,于是设 k=Ank = A \uparrow\uparrow n,那么根据刚刚的性质就能得到 Akk(modm)A^k \equiv k \pmod{m},故如果我们暂不考虑 kk 大小的限制,kk 自己就是一个合法的答案。但是显然这个 kk 可能会很大,于是我们考虑通过 kk 构造出符合题意的更小合法解 kk' 满足 AkAkkk(modm)A^k \equiv A^{k'} \equiv k \equiv k' \pmod{m}
由于 kkAA 的幂次,而缩小幂次数量级的一个经典方法就是运用扩展欧拉定理,于是假若 k>φ(m)k > \varphi(m),根据扩展欧拉定理,我们可以很容易地由上面的条件推导出:如果 kk' 同时满足 Akmodφ(m) + φ(m)Ak(modm)A^{k \bmod \varphi(m) \ + \ \varphi(m)} \equiv A^{k'} \pmod{m}kk(modm)k \equiv k' \pmod {m},则 kk' 符合条件。而前一个式子在 k>φ(m)k' > \varphi(m) 时可以由 kk(modφ(m))k \equiv k' \pmod{\varphi(m)} 推导得出(具体证明可设 r=kmodφ(m)=kmodφ(m)r=k \bmod \varphi(m)=k' \bmod \varphi(m),那么 ArAkmodφ(m)Akmodφ(m)(modm)A^{r} \equiv A^{k \bmod \varphi(m)} \equiv A^{k' \bmod \varphi(m)} \pmod{m},于是 Akmodφ(m) + φ(m)Akmodφ(m) + φ(m)Ak(modm)A^{k \bmod \varphi(m) \ + \ \varphi(m)} \equiv A^{k' \bmod \varphi(m) \ + \ \varphi(m)} \equiv A^{k'} \pmod{m}),于是我们的问题最终转化为:求解线性同余方程组 {kk(modφ(m))k=k(modm)\begin{cases} k' \equiv k \pmod{\varphi(m)} \\ k' = k \pmod{m} \end{cases} 的一组大于 φ(m)\varphi(m) 的解或判定无解。求解 kmodφ(m)k \bmod \varphi(m) 以及 kmodmk \bmod mnn 足够大时的值是可以用 P4139 中同样的做法来做的,而求解线性同余方程组则是 ExCRT 的经典应用,于是整道题就做完了。
对于每次询问,求欧拉函数值的时间复杂度为 O(m)O(\sqrt{m}),对 AnA \uparrow \uparrow n 求余的时间复杂度为 O(logm)O(\log m),故整个程序的总时间复杂度为 O(Qmlogm)O(Q\sqrt{m}\log m)

评论

0 条评论,欢迎与作者交流。

正在加载评论...