2024.5.30 闲话
歌:对方集散地立刻发动大家来看随机附带了 - 大家分厘卡时间 feat. 重音テト .
问题:对于 \(m,k\),计算 \(\operatorname{ord}_m(x)=k\) 的 \(x\) 个数 .
首先令 \(\psi(m)\) 是最大的满足对于任何 \(x\perp n\) 都有 \(x^k\equiv1\pmod m\) 的 \(k\)(A002322). 则:
\[\psi(p^k)=\begin{cases}p^{k-1}&p=2\land k\le 2\\p^{k-2}&p=2\land k\ge 3\\(p-1)p^{k-1}&p\ge 3\end{cases}
\]
对于其他位置可以由素数幂处的值取 lcm 得到(这个并不重要).
先考虑计算 \(x^d\equiv1\pmod m\) 的解数 \(f_m(d)\),因为积性所以只需要考虑素数幂 \(p^c\) 处的情况 .
特判 \(p=2\),对于 \(p\ge 3\) 的情况,存在原根,所以可以转写为 \(d\cdot\operatorname{ind}(x)\equiv 0\pmod{\varphi(p^c)}\),这个方程显然只有 \(\gcd(\varphi(p^c),d)\) 个解 .
最终的结果是:令校正函数:
\[C_{m,p_i}(p^k)=\begin{cases}2\cdot p^k&p_i=p=2\land k\ge1\land 8\mid m\\p^k&\text{otherwise.}\end{cases}
\]
则答案为 \(f_m(d)=\prod C_{m,p_i}(\gcd(\psi(p_i^{c_i},d)))\) .
容斥可得原问题的答案就是 \(f_m*\mu\),也就是:
\[c_m(d)=\prod_{p^c\Vert\psi(m)}\left(\prod_iC_{m,p_i}(\gcd(\psi(p_i^{c_i},p^c)))-\prod_iC_{m,p_i}(\gcd(\psi(p_i^{c_i},p^{c-1})))\right)
\]
可以先假设 \(\nu_p(\psi(p_i^{c_i}))<c\) 然后调整 \(\nu_p(\psi(p_i^{c_i}))=c\) 的位置,注意到:
\[\prod_{p^c\Vert\psi(m)}\prod_iC_{m,p_i}(\gcd(\psi(p_i^{c_i},p^c)))=\varphi(m)
\]
则:
\[c_m(d)=\varphi(m)\prod_{p\mid\psi(m)}\dfrac{p^{w_m(p)}-1}{p^{w_m(p)}}\text{ where }w_m(p)=[p=2\land2\mathop{\Vert}d\land8\mathop{\Vert}m]+\sum_i[\nu_p(\psi(p_i^{c_i}))=\nu_p(d)]
\]
然而这个形式并没有什么太大的改进,只是稍微好看了一点 .
Reference:
- [CENSORED]
- 数论题 - Luogu .
- Number of solutions to \(x^k\equiv 1\pmod p\) - Mathematics Stack Exchange .
以上 \(p\) 是素数 .
以下是博客签名,正文无关
本文来自博客园,作者:Jijidawang,转载请注明原文链接:https://www.cnblogs.com/CDOI-24374/p/18222387
版权声明:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议(CC BY-NC-SA 4.0)进行许可。看完如果觉得有用请点个赞吧 QwQ