码迷,mamicode.com
首页 > 其他好文 > 详细

【51nod】1238 最小公倍数之和 V3

时间:2018-02-27 14:01:03      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:nod   gpo   最小   span   nbsp   pos   AC   arp   前缀和   

【题意】给定n,求Σi=1~nΣj=1~n lcm(i,j),n<=10^10。

【算法】杜教筛

【题解】

$ans=\sum_{i=1}^{n}\sum_{j=1}^{i}lcm(i,j)$

令$g(n)=\sum_{i=1}\frac{n*i}{(n,i)}$,则要求g(n)的前缀和。

$g(n)=n\sum_{d|n}\sum_{i=1}^{n}\frac{i}{d}[(n,i)=d]$

$g(n)=n\sum_{d|n}\sum_{i=1}^{n/d}i[(n/d,i)=1]$

$g(n)=n\sum_{d|n}\frac{d*\varphi(d)+[n=1]}{2}$

$g(n)=n/2*(1+\sum_{d|n}\varphi(d)*d)$

现在只需要求$\sum_{d|n}\varphi(d)*d$的前缀和s(n)

 

 

幂函数和幂函数卷积有奇效。

 

【51nod】1238 最小公倍数之和 V3

标签:nod   gpo   最小   span   nbsp   pos   AC   arp   前缀和   

原文地址:https://www.cnblogs.com/onioncyc/p/8478280.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!