Loading

数论2

数论-进阶

扩展欧拉定理

\(b\ge \varphi(m)\) 则有 \(a^b\equiv a^{b\bmod\varphi(m)+\varphi(m)}\pmod m\)

上帝与集合的正确用法

思路

题目要你求:

\[2^{2^{2^{2\cdots}}} \bmod p \]

的值,多组询问

很显然,设 \(2^{2^{2^{2\cdots}}}=x\) 则由于扩展欧拉定理:

\[2^x\equiv 2^{x\bmod\varphi(p)+\varphi(p)}\pmod p \]

然后出现了 \(2^x\bmod \varphi(p)\) 这个式子,我们就可以不断递归求解了

狄利克雷卷积

定义

数论函数 \(f(n)\)\(g(n)\) 的狄利克雷卷积定义为:

\[h(n)=\sum_{d|n}f(d)g(\frac nd) \]

记作:\(h=f*g\)

定理

两个积性函数的狄利克雷卷积也是积性函数

两个积性函数对应位置相乘所得到的函数也是积性函数

交换律结合律

\(f*g=g*f\)

\(f*(g*h)=(f*g)*h\)

其中 \(f,g,h\) 为积性函数

\(I\) 函数

\(I(n)=[x=1]\)

\(I\) 是单位元,\(\forall\) 数论函数 \(f\) 都有 \(f*I=I*f=f\)

狄利克雷逆

\(f*g=I\),则 \(f,g\) 互为彼此的狄利克雷逆

常见积性函数及性质

\(1\) 函数:\(1(n)=1\)

\(Id\) 函数:\(Id(n)=n\)

\(I\) 函数:\(I(n)=[n=1]\)

\(Id=\varphi*1\to Id*\mu=\varphi\)

莫比乌斯反演

莫比乌斯函数

对于 \(\mu(n)\)

\(n=1\)\(\mu(n)=1\)

\(n=p_1\cdot p_2\cdots p_k(\text{其中}\ p_i\ \text{为互异素数})\)\(\mu(n)=(-1)^k\)

否则 \(\mu(n)=0\)

由于 \(1*\mu=I\),所以 \(1,\mu\) 互为彼此的狄利克雷逆

定义

设数论函数 \(f\),称 \(F=f*1\) 为莫比乌斯变换

设数论函数 \(F\),称 \(f=F*\mu\) 为莫比乌斯反演

优秀的性质

对于约数个数函数 \(d(x)\) 有如下性质:

\[d(i\cdot j)=\sum_{x|i}\sum_{y|j}[\gcd(x,y)=1] \]

\[\sum_{d|n}\frac{\mu(d)}{d}=\frac{\varphi(n)}{n} \]

\[\sum_{d|\gcd(i,j)}\mu(d)=[\gcd(i,j)=1] \]

\[Id*\mu=\varphi \]

P1447 [NOI2010] 能量采集

此题即求:

\[2\times \sum_{i=1}^{n}\sum_{j=1}^{m}\gcd(i,j)-n\times m \]

后续我们假定 \(n\le m\)

显然我们需要求的就是

\[\sum_{i=1}^{n}\sum_{j=1}^{m}\gcd(i,j) \]

按照常规套路,枚举 \(\gcd(i,j)\) 等于多少

\[\sum_{k=1}^n k\sum_{i=1}^{n}\sum_{j=1}^{m}[\gcd(i,j)=k] \]

常规莫比乌斯反演

\[\sum_{k=1}^n k\sum_{i=1}^{\frac nk}\sum_{j=1}^{\frac mk}[\gcd(i,j)=1] \]

\[\sum_{k=1}^n k\sum_{i=1}^{\frac nk}\sum_{j=1}^{\frac mk}\sum_{d|\gcd(i,j)}\mu(d) \]

\[\sum_{k=1}^n k\sum_{d=1}^{\frac nk}\mu(d)\lfloor \frac n{kd}\rfloor \lfloor \frac m{kd}\rfloor \]

这样再使用整出分块足以通过此题

然而我们仍可以优化

我们令 \(T=kd\)

\[\sum_{k=1}^n k\sum_{T=1}^n[k|T]\mu(\frac Tk)\lfloor \frac n{T}\rfloor \lfloor \frac m{T}\rfloor \]

优先枚举 \(T\)

\[\sum_{T=1}^n\sum_{k|T}k\cdot\mu(\frac Tk)\lfloor \frac n{T}\rfloor \lfloor \frac m{T}\rfloor \]

由于有关狄利克雷卷积的常识 \(Id*\mu=\varphi\),原式可以化简为

\[\sum_{T=1}^n\varphi(T)\lfloor \frac n{T}\rfloor \lfloor \frac m{T}\rfloor \]

那么此题就可以在 \(O(\min(n,m))\) 的时间内解决

posted @ 2022-07-20 22:11  Into_qwq  阅读(32)  评论(0编辑  收藏  举报