Luogu P2398 GCD SUM

P2398 GCD SUM

题意

i=1nj=1ngcd(i,j)\sum_{i=1}^n\sum_{j=1}^n\text{gcd}(i, j)

思路

对原式进行一些变换,提取公因式技巧

i=1nj=1ngcd(i,j)=i=1nj=1nId(gcd(i,j))=i=1nj=1n((φ1)(gcd(i,j))=i=1nj=1ndgcd(i,j)φ(d)=d=1ni=1ndj=1ndφ(d)=d=1nnd2φ(d)\begin{aligned} \sum_{i=1}^n\sum_{j=1}^n\text{gcd}(i, j)&=\sum_{i=1}^n\sum_{j=1}^n\text{Id}(\text{gcd}(i, j))\\ &=\sum_{i=1}^n\sum_{j=1}^n((\varphi\ast\texttt{1})(\text{gcd}(i, j))\\ &=\sum_{i=1}^n\sum_{j=1}^n\sum_{d|\text{gcd}(i,j)}\varphi(d)\\ &=\sum_{d=1}^n\sum_{i=1}^{\left\lfloor\frac{n}{d}\right\rfloor}\sum_{j=1}^{\left\lfloor\frac{n}{d}\right\rfloor}\varphi(d)\\ &=\sum_{d=1}^n\left\lfloor\frac{n}{d}\right\rfloor^2\cdot \varphi(d) \end{aligned}

其中使用的数论函数 Id,φ,1\text{Id}, \varphi, \texttt{1}积性函数-例子

然后使用数论分块和欧拉筛筛出 varphivarphi 函数,并求其前缀和即可。

总复杂度 O(N)O(N)


Luogu P2398 GCD SUM
https://wty-yy.github.io/posts/28234/
作者
wty
发布于
2021年8月17日
许可协议