2024.9.9 闲话
看 质数计数 I 大概感觉质数计数 II 这个题也有一个差不多的做法,首先只需要考虑和 \(m\) 互质的位置,考察模 \(m\) 的 Dirichlet 特征 \(\chi_{1\dots\varphi(m)}\),因为 \(\chi\) 完全积性所以可以 min25 筛求出每个 \(\sum_p\chi_k(p)\),然后解线性方程组就可以了 .
图
Hensel lifting:已知多项式 \(f\) 和同余方程 \(f(x)\equiv0\pmod{p^{k-1}}\),求 \(f(x)\equiv0\pmod{p^k}\) 的解 .
Hensel 引理
若 \(x_0\) 满足 \(f(x_0)\equiv0\pmod{p^{k-1}}\),则:
- 若 \(f'(x_0)\not\equiv0\pmod p\),则存在唯一的 \(t\) 使得 \(x=x_0+p^{k-1}t\) 是方程 \(f(x)\equiv0\pmod{p^k}\) 的解 .
- 若 \(f'(x_0)\equiv0\pmod p\) 且 \(f(x_0)\equiv0\pmod{p^k}\),则对于每个 \(t\in[0,p)\),\(x=x_0+p^{k-1}t\) 都是方程 \(f(x)\equiv0\pmod{p^k}\) 的解 .
- 若 \(f'(x_0)\equiv0\pmod p\) 且 \(f(x_0)\not\equiv0\pmod{p^k}\),则 \(x_0\) 无法构造方程 \(f(x)\equiv0\pmod{p^k}\) 的解 .
其实这个引理还是挺符合直觉的,我来抄一下 OI Wiki 的证明(主要是 OI Wiki 原文写的可能确实有点简略了,第一步不太显然的转化都没有说明):
假设 \(x=x_0+p^{k-1}t\) 是 \(f(x)\equiv0\pmod{p^k}\) 的解,在 \(x_0\) 处对 \(f\) 做 Taylor 展开:
容易发现 \(>1\) 的项都没用,所以就是:
然后就是用线性同余方程分析:
后面解 \(t\) 就比较平凡了,不再展开,最后就可以得到和 Hensel 引理一样的结论 .
用这个操作就可以把模 \(p^k\) 意义下的同余方程改成模 \(p\) 意义下的同余方程了,下面是几个例子 .
HDU4569 Special equations
给一个 \(n\) 次多项式 \(f(x)\) 和素数 \(p\),解方程 \(f(x)\equiv0\pmod{p^2}\) .
最多 50 次询问,\(1\le n\le 4\),\(p\le 10^4\) .
应该算是一个 Hensel lifting 的模板题,暴力求出 \(f(x)\equiv0\pmod p\) 的解之后提升即可 .
好像也不一定对
给长度为 \(n\) 的序列 \(a,b\) 和素数 \(p\),求方程:
\[\sum_{i=1}^na_i^{x^{b_i}}\equiv0\pmod p \]的任意一组解 .
\(n\le 10\),\(p\le 10^{10}\) .
所以还是别对着随便一个高次同余方程想人类智慧解法了吧 .
以下是博客签名,正文无关
本文来自博客园,作者:Jijidawang,转载请注明原文链接:https://www.cnblogs.com/CDOI-24374/p/18404165
版权声明:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议(CC BY-NC-SA 4.0)进行许可。看完如果觉得有用请点个赞吧 QwQ