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 展开:

\[\sum_{i\ge0}\dfrac{(p^{k-1}t)^i}{i!}f^{(i)}(x_0)\equiv0\pmod{p^k} \]

容易发现 \(>1\) 的项都没用,所以就是:

\[f(x_0)+tp^{k-1}f'(x_0)\equiv0\pmod{p^k} \]

然后就是用线性同余方程分析:

\[t\cdot f'(x_0)\equiv\dfrac{f(x_0)}{p^{k-1}}\pmod p \]

后面解 \(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}\) .

所以还是别对着随便一个高次同余方程想人类智慧解法了吧 .

posted @ 2024-09-09 15:27  Jijidawang  阅读(157)  评论(3编辑  收藏  举报
😅​