标签:desc alt 不等式 rip rac nbsp 出现 处理 script
BZOJ_3944_Sum_杜教筛
1 1
2 0
22 -2
58 -3
278 -3
1655470 2
学习下杜教筛,推一波式子。
首先有反演式子$\sum\limits_{d|n}\varphi(d)=n$
$\sum\limits_{i=1}^{n}\sum\limits_{d|i}\varphi(d)=\frac{n*(n+1)}{2}$
约数$j$出现了$n/j$次,故约数$j$将会在$i=n/j$时停止枚举。
相当于第$i$次枚举$1$到$n/i$中的数即可。
$\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{\lfloor n/i\rfloor}
\varphi(j)=\frac{n*(n+1)}{2}$
$\sum\limits_{i=1}^{n}sum[n/i]=\frac{n*(n+1)}{2}$
$sum[n]+\sum\limits_{i=2}^{n}sum[n/i]=\frac{n*(n+1)}{2}$
然后记忆化搜索,每次可以分块求,总时间复杂度$O(n^{\frac{3}{4}})$。
根据均值不等式,预处理出$n^{\frac{2}{3}}$内的答案再用上面的式子能够最优。
总时间复杂度$O(n^{\frac{2}{3}}logn),log$是$map$带来的。
标签:desc alt 不等式 rip rac nbsp 出现 处理 script
原文地址:https://www.cnblogs.com/suika/p/8903341.html