杜教筛的某道练习题
from here.
\(Description\)
求$$\sum_{i=1}^n\varphi(i)*i$$
\(Solution\)
把\(f(x)=\sum_{i=1}^n\varphi(i)*i\)与\(g(x)=x\)做狄利克雷卷积并求前缀和,会得到:
\[\sum_{i=1}^n\sum_{d|i}f(d)g(\frac id)=\sum_{i=1}^n\sum_{d|i}\varphi(d)*d*\frac id=\sum_{i=1}^ni^2
\]
再枚举\(T=\frac id\):
\[\sum_{i=1}^n\sum_{d|i}\varphi(d)*d*\frac id=\sum_{T=1}^nT\sum_{d=1}^{\lfloor\frac nT\rfloor}\varphi(d)*d=\sum_{i=1}^ni^2
\]
比如\(T=\frac id=1\)时,满足条件的\(d\)有\(n\)个;当\(T=\frac id=2\)时,满足条件的\(d\)就有\(\lfloor\frac n2\rfloor\)个,且就是\(1\sim\lfloor\frac n2\rfloor\)。
然后移项,左边留着\(\sum_{i=1}^n\varphi(i)*i\):
\[\sum_{i=1}^n\varphi(i)*i=\sum_{i=1}^ni^2-\sum_{T=2}^nT\sum_{d=1}^{\lfloor\frac nT\rfloor}\varphi(d)*d\\\Rightarrow S(n)=\sum_{i=1}^ni^2-\sum_{T=2}^nS(\frac nT)
\]
总结:当遇到一些不好求前缀和的函数时,一般将其与一个易于求前缀和的函数进行狄利克雷卷积,得到另一个易于求前缀和的函数,然后通过简单的数学变换,得到可以递归的式子。
这道题也是这样的思路。
------------------------------------------------------------------------------------------------------------------------
很久以前的奇怪但现在依旧成立的签名
attack is our red sun $$\color{red}{\boxed{\color{red}{attack\ is\ our\ red\ sun}}}$$ ------------------------------------------------------------------------------------------------------------------------
很久以前的奇怪但现在依旧成立的签名
attack is our red sun $$\color{red}{\boxed{\color{red}{attack\ is\ our\ red\ sun}}}$$ ------------------------------------------------------------------------------------------------------------------------