一
(sum_isum_j[lcm(i,j)=n],nin[1,1e8])
(=sum_{i=1}^nsum_{j=1}^n[i*j=n*gcd(i,j)])
(=sum_{d|n}sum_{i=1}^{frac{n}{d}}sum_{j=1}^{frac{n}{d}}[i*j=frac n d &&gcd(i,j)=1])
(=sum_{d|n} f(d),f(n)=2^{n的不同质因数的个数})
时间复杂度(O(n))
二
(ans=sum_{k=1}^nsum_{i=1}^ksum_{j=1}^kgcd(i,j,k))
((Id^2)*phi)怎么杜教筛?
- 法一
最后一个式子(sum_{T=1}^nT^2sum_{k=1}^{lfloorfrac nT floor}phi(k))
整数分块+杜教筛(phi)
虽说是求了(sqrt n)次但实际只有(2sqrt n)个值有用,况且算(S(n))会把这些值都算一遍
[lfloorfrac{lfloorfrac ab floor}{c} floor=lfloorfrac a{bc} floor ]
- 法二
倒数第二个式子(sum_{k=1}^nsum_{T|k}T^2phi(frac k T))
[Id^2*phi*1=Id^2*Id,g(i)=1,h(i)=sum_{d|i}d^2*frac id ][sum_{u=1}^n h(u)=sum_{i=1}^nsum_{j=1}^n[ij<=n]i^2j ][sum_{i=1}^nsigma(i)=sum_{i=1}^nsum_{d|i}d=sum_{d=1}^ndlfloorfrac nd floor ]可以整除分块(sqrt n)做(本来每层算S也要(sqrt n))
预处理后时间复杂度(O(n^{frac23}))
复杂度证明:?暂且当$ sum_i^n i^{alpha} = O(n^{1+alpha})$