欧拉函数的特殊性质

欧拉函数与莫比乌斯函数的关系

根据积性函数关系 \(\boldsymbol \varphi=\boldsymbol \mu*\boldsymbol {id}\) 得到

\(\displaystyle \boldsymbol \varphi(n)=\sum_{d\mid n}\boldsymbol \mu(d)\cdot({n\over d})=n\cdot\sum_{d\mid n}{\boldsymbol \mu(d)\over d}\)

故得出推论 \(\displaystyle {\boldsymbol \varphi(n)\over n}=\sum_{d\mid n}{\boldsymbol \mu(d)\over d}\)

或简记为 \(\boldsymbol \varphi\cdot \boldsymbol{id}^{-1}=(\boldsymbol \mu\cdot \boldsymbol {id}^{-1})*\boldsymbol I\)


互质数和

设小于等于 \(n\) 的正整数中,与 \(n\) 互质的数的和为 \(s(n)\)

不难列出关系式 \(\displaystyle s(n)=\sum_{i=1}^ni[gcd(i,n)=1]\)

由莫比乌斯反演可得

\(\displaystyle s(n)=\sum_{i=1}^ni[gcd(i,n)=1]=\sum_{i=1}^ni\sum_{d\mid gcd(i,n)}\boldsymbol \mu(d)=\sum_{d\mid n}\boldsymbol \mu(d)\sum_{i=1}^ni[d\mid i]=\sum_{d\mid n}\boldsymbol \mu(d)\sum_{i=1}^{n\over d}id[1\mid i]=\sum_{d\mid n}\boldsymbol \mu(d)d\sum_{i=1}^{n\over d}i\)

由等差数列求和公式可得 \(\displaystyle \sum_{i=1}^ni={n(n+1)\over 2}\)

故代入可得 \(\displaystyle s(n)=\sum_{d\mid n}\boldsymbol \mu(d)d{({n\over d})\cdot ({n\over d}+1)\over 2}={n\over 2}\cdot [\sum_{d\mid n}\boldsymbol \mu(d)\cdot ({n\over d})+\sum_{d\mid n}\boldsymbol\mu(d)]={n\over 2}\cdot [(\boldsymbol \mu*\boldsymbol {id})(n)+(\boldsymbol \mu*\boldsymbol I)(n)]\)

代入 \(\boldsymbol \mu*\boldsymbol {id}=\boldsymbol \varphi,\boldsymbol \mu*\boldsymbol I=\boldsymbol \varepsilon\)\(\displaystyle s(n)={n(\boldsymbol \varphi+\boldsymbol \varepsilon)(n)\over 2}\)

一般而言,考虑到 \(\boldsymbol \varepsilon(n)=[n=1]= \begin{cases} 1,n=1 \\\ \\ 0,n\neq 1 \end{cases}\)

故代入 \(s(n)\)\(s(n)= \begin{cases} {1\cdot(1+1)\over 2}=1,n=1 \\\ \\ {n\cdot \boldsymbol \varphi(n)+n\cdot 0\over 2}={n\cdot \boldsymbol \varphi(n)\over 2},n\neq 1 \end{cases}\)


\(s(n)\) 的快速求法

由于 \(s(n)\) 本身不具备积性,故在 \(n\) 较大时无法直接求解

但考虑到 \(\displaystyle s(n)={n(\boldsymbol \varphi+\boldsymbol \varepsilon)(n)\over 2}\)\(\displaystyle s={\boldsymbol {id}\cdot(\boldsymbol \varphi+\boldsymbol \varepsilon)\over 2}\)

\(2s=\boldsymbol {id}\cdot(\boldsymbol \varphi+\boldsymbol \varepsilon)=\boldsymbol {id}\cdot\boldsymbol \varphi+\boldsymbol {id}\cdot \boldsymbol \varepsilon\)

同样考虑到 \((\boldsymbol {id}\cdot \boldsymbol \varepsilon)(n)=n\cdot[n=1]= \begin{cases} 1\cdot 1=1,n=1 \\\ \\ n\cdot 0=0,n\neq 1 \end{cases}=\boldsymbol \varepsilon(n)\)

代入即可移项得 \(2s-\boldsymbol \varepsilon=\boldsymbol {id}\cdot\boldsymbol \varphi\)

求解 \(s\) 的前缀和只需求解 \(\boldsymbol f=\boldsymbol {id}\cdot\boldsymbol \varphi\) 的前缀和 \(F\),再利用公式 \(s={\boldsymbol f+\boldsymbol \varepsilon\over 2}\) 即可求出 \(s\) 的前缀和 \(S={F+1\over 2}\)

已知前缀和后,利用前缀和的差分即可求出 \(s\)

而至于求解 \(\boldsymbol f\) 的前缀和 \(F\),这里提供用于杜教筛与 min_25 筛的思路:

杜教筛

\[(\boldsymbol f*\boldsymbol {id})(n)=\sum_{d\mid n} (\boldsymbol {id}\cdot \boldsymbol \varphi)(d)\cdot \boldsymbol {id}({n\over d})\cdot 1=\sum_{d\mid n}d\cdot \boldsymbol \varphi(d)\cdot {n\over d}\cdot \boldsymbol I({n\over d})=n\cdot (\boldsymbol \varphi*\boldsymbol I)(n)=n\cdot \boldsymbol {id}(n)=n^2 \]

再利用 \(\displaystyle \sum_{i=1}^ni={n(n+1)\over 2},\sum_{i=1}^ni^2={n(2n+1)(n+1)\over 6}\) 即可求解

min_25 筛

\[\boldsymbol f(p)=\boldsymbol \varphi(p)\cdot \boldsymbol {id}(p)=(p-1)\cdot p=p^2-p=(\boldsymbol {id}^2-\boldsymbol {id})(p),p\in Prime \]

posted @ 2020-07-02 13:20  JustinRochester  阅读(226)  评论(0编辑  收藏  举报