BZOJ_3944_Sum_杜教筛

Posted fcwww

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BZOJ_3944_Sum_杜教筛相关的知识,希望对你有一定的参考价值。

BZOJ_3944_Sum_杜教筛

Description

技术分享图片

Input

一共T+1行
第1行为数据组数T(T<=10)
第2~T+1行每行一个非负整数N,代表一组询问

Output

一共T行,每行两个用空格分隔的数ans1,ans2

Sample Input

6
1
2
8
13
30
2333

Sample Output

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$带来的。

以上是关于BZOJ_3944_Sum_杜教筛的主要内容,如果未能解决你的问题,请参考以下文章

杜教筛

bzoj 3944 Sum —— 杜教筛

bzoj 4916: 神犇和蒟蒻欧拉函数+莫比乌斯函数+杜教筛

●杜教筛入门(BZOJ 3944 Sum)

BZOJ.3944.Sum(杜教筛)

BZOJ3944/4805Sum/欧拉函数求和 杜教筛