2024.9.9 闲话

质数计数 I 大概感觉质数计数 II 这个题也有一个差不多的做法,首先只需要考虑和 m 互质的位置,考察模 m 的 Dirichlet 特征 χ1φ(m),因为 χ 完全积性所以可以 min25 筛求出每个 pχk(p),然后解线性方程组就可以了 .

Hensel lifting:已知多项式 f 和同余方程 f(x)0(modpk1),求 f(x)0(modpk) 的解 .

Hensel 引理

x0 满足 f(x0)0(modpk1),则:

  • f(x0)0(modp),则存在唯一的 t 使得 x=x0+pk1t 是方程 f(x)0(modpk) 的解 .
  • f(x0)0(modp)f(x0)0(modpk),则对于每个 t[0,p)x=x0+pk1t 都是方程 f(x)0(modpk) 的解 .
  • f(x0)0(modp)f(x0)0(modpk),则 x0 无法构造方程 f(x)0(modpk) 的解 .

其实这个引理还是挺符合直觉的,我来抄一下 OI Wiki 的证明(主要是 OI Wiki 原文写的可能确实有点简略了,第一步不太显然的转化都没有说明):

假设 x=x0+pk1tf(x)0(modpk) 的解,在 x0 处对 f 做 Taylor 展开:

i0(pk1t)ii!f(i)(x0)0(modpk)

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

f(x0)+tpk1f(x0)0(modpk)

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

tf(x0)f(x0)pk1(modp)

后面解 t 就比较平凡了,不再展开,最后就可以得到和 Hensel 引理一样的结论 .

用这个操作就可以把模 pk 意义下的同余方程改成模 p 意义下的同余方程了,下面是几个例子 .

HDU4569 Special equations

给一个 n 次多项式 f(x) 和素数 p,解方程 f(x)0(modp2) .

最多 50 次询问,1n4p104 .

应该算是一个 Hensel lifting 的模板题,暴力求出 f(x)0(modp) 的解之后提升即可 .

好像也不一定对

给长度为 n 的序列 a,b 和素数 p,求方程:

i=1naixbi0(modp)

的任意一组解 .

n10p1010 .

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

posted @   yspm  阅读(166)  评论(3编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
😅​
点击右上角即可分享
微信分享提示