题目描述
给定正整数$n$,求
$$
\begin{cases}
\Phi(n)=\sum\limits_{i=1}^{n} \phi(i) \\
M(n)=\sum\limits_{i=1}^{n} \mu(i)
\end{cases}
$$
其中$n \le 2^{32}-1$
题解
当然分别计算$\Phi(n)$和$M(n)$了
$\Phi(n)$
首先有$\phi \times 1=id$
其次还有$f \times g = h \Rightarrow g(1)F(n)=H(n)-\sum\limits_{d=2}^{n}g(d)F(\lfloor \frac{n}{d} \rfloor)$
也就是说$\Phi(n)=ID(n)-\sum\limits_{d=2}^{n}1(d)\Phi(\lfloor \frac{n}{d} \rfloor)$
即$\Phi(n)=\frac{(1+n)n}{2}-\sum\limits_{d=2}^{n}\Phi(\lfloor \frac{n}{d} \rfloor)$
线性筛$\phi(n)$
线性筛处理前$n^{\frac{2}{3}}$后,单次可以做到$O(n^{\frac{2}{3}})$
假设当前枚举到了$i$和素数$p_j$
若$i$是素数,则$\phi(i)=i-1$
若$p_j \mid i$,设$i \times p_j=i’ \times p_j^k$,且$(i’,p_j^k)=1$,则$\phi(i \times p_j)=\phi(i’) \times \phi(p_j^k)$
同时,有$\phi(n)=n\Pi (\frac{p_i-1}{p_i})$成立
即$\phi(i \times p_j)=\phi(i’) \times p_j^k\frac{p_j-1}{p_j}=i’\Pi p_t^{k_t} \times p_j^{k-1}\frac{p_j-1}{p_j} \times p_j=\phi(i)p_j$
若$p_j \not \mid i \Rightarrow(i,p_j)=1$,则$\phi(i \times p_j)=\phi(i) \times \phi(p_j)=\phi(i) \times (p_j-1)$
$M(n)$
首先有$\mu \times 1 = \epsilon$
其次还有$f \times g = h \Rightarrow g(1)F(n)=H(n)-\sum\limits_{d=2}^{n}g(d)F(\lfloor \frac{n}{d} \rfloor)$
也就是说$M(n)=E(n)-\sum\limits_{d=2}^{n}1(d)M(\lfloor \frac{n}{d} \rfloor)$
即$M(n)=[n \ge 1]-\sum\limits_{d=2}^{n}M(\lfloor \frac{n}{d} \rfloor)$
线性筛$\mu(n)$
线性筛处理前$n^{\frac{2}{3}}$后,单次可以做到$O(n^{\frac{2}{3}})$
假设当前枚举到了$i$和素数$p_j$
若$i$是素数,则$\mu(i)=-1$
若$p_j \mid i$,设$i \times p_j=i’ \times p_j^k$,且$(i’,p_j^k)=1$,此时$k \ge 2$,则$\mu(i \times p_j)=\mu(i’) \times \mu(p_j^k)=0$
若$p_j \not \mid i \Rightarrow(i,p_j)=1$,则$\mu(i \times p_j)=\mu(i) \times \mu(p_j)=-\mu(i)$
代码
1 |
|