杜教篩刷題總結


寫在前面:

其實只有一道題

2020.01.01update:博客鍋了非常抱歉,感謝sbskyh&tdcp指出

DZY Loves Math IV

$n$很小可以考慮枚舉$1$到$n$
對於一個枚舉出來的$n$

考慮把$n$拆為$x*y$

其中$x$為$n$的每個質因子的1次方的乘積,$y=\frac{n}{x}$
$S(n,m)=\sum\limits_{i=1}^{m}\varphi{(n*i)}$

$S(n,m)=y*\sum\limits_{i=1}^{m}\varphi{(\frac{x}{(x,i)})}*\varphi{(i)}*(x,i)$

$S(n,m)=y*\sum\limits_{i=1}^{m}\varphi{(\frac{x}{(x,i)})}*\varphi{(i)}\sum\limits_{j|(x,i)}\varphi{(j)}$

$S(n,m)=y*\sum\limits_{i=1}^{m}\varphi{(i)}\sum\limits_{j|(x,i)}\varphi{(\frac{x}{j})}$

$S(n,m)=y*\sum\limits_{j|x}\varphi{(\frac{x}{j})}\sum\limits_{i=1}^{\lfloor \frac{m}{j} \rfloor}\varphi{(i*j)}$

$S(n,m)=y*\sum\limits_{j|x}\varphi{(\frac{x}{j})}*S(j,\lfloor \frac{m}{j} \rfloor)$

遞歸解決即可

遞歸邊界:
1>$n==1$杜教篩求$ans=\sum\limits_{i=1}^{m}\varphi{(i)}$
2>$m<=1\ ans=m*\varphi{(n)}$


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM