P2398 GCD SUM
题意
求
i=1∑nj=1∑ngcd(i,j)
思路
对原式进行一些变换,提取公因式技巧:
i=1∑nj=1∑ngcd(i,j)=i=1∑nj=1∑nId(gcd(i,j))=i=1∑nj=1∑n((φ∗1)(gcd(i,j))=i=1∑nj=1∑nd∣gcd(i,j)∑φ(d)=d=1∑ni=1∑⌊dn⌋j=1∑⌊dn⌋φ(d)=d=1∑n⌊dn⌋2⋅φ(d)
其中使用的数论函数 Id,φ,1 见 积性函数-例子。
然后使用数论分块和欧拉筛筛出 varphi 函数,并求其前缀和即可。
总复杂度 O(N)
点击显/隐代码