题目大意
设f(i)表示i的不同质因子数量。
求
∑ni=12f(i)
n<=10^12
推式子
我知道你可能会推出一个看起来是
n5/6
实际是
n2/3
的方法,但肯定还是不能过的,大概能跑10^11这个级别。
首先把式子变成
∑ni=1∑d|i[(d,i/d)=1]
这显然等价,然后我们可以反演
∑ni=1∑d|i∑p|d且p|i/dμ(d)
我们设g(i)表示i的因数个数,有
∑ni=1∑p2|ig(i/p2)μ(p)
∑√np=1μ(p)∑n/p2i=1n/p2/i
然后分块套分块算(也可以枚举+分块)
复杂度?
∑√np=1√n/p=√nlogn