推式子
一
\(\sum_i\sum_j[lcm(i,j)=n],n\in[1,1e8]\)
\(=\sum_{i=1}^n\sum_{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}^n\sum_{i=1}^k\sum_{j=1}^kgcd(i,j,k)\)

\((Id^2)*\phi\)怎么杜教筛?
- 法一
最后一个式子\(\sum_{T=1}^nT^2\sum_{k=1}^{\lfloor\frac nT\rfloor}\phi(k)\)
整数分块+杜教筛\(\phi\)
虽说是求了\(\sqrt n\)次但实际只有\(2\sqrt n\)个值有用,况且算\(S(n)\)会把这些值都算一遍
\[\lfloor\frac{\lfloor\frac ab\rfloor}{c}\rfloor=\lfloor\frac a{bc}\rfloor \]
- 法二
倒数第二个式子\(\sum_{k=1}^n\sum_{T|k}T^2\phi(\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}^n\sum_{j=1}^n[ij<=n]i^2j \]\[\sum_{i=1}^n\sigma(i)=\sum_{i=1}^n\sum_{d|i}d=\sum_{d=1}^nd\lfloor\frac nd\rfloor \]可以整除分块\(\sqrt n\)做(本来每层算S也要\(\sqrt n\))
预处理后时间复杂度\(O(n^{\frac23})\)
复杂度证明:?暂且当$ \sum_i^n i^{alpha} = O(n^{1+alpha})$
作者:starusc
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文链接,否则保留追究法律责任的权利。

浙公网安备 33010602011771号