SCU 4311: Sum of LCM

来源:互联网 发布:玩网络十三水输惨了 编辑:程序博客网 时间:2024/06/14 01:39

考虑整除关系上的一对容斥,又叫莫比乌斯反演。

首先要会求gcd(i,j)=k [1<=i<=a, 1<j<=b]的个数。这个考虑k的倍数,用反演可以nlgn算出来。

对每个k,有平凡等式gcd(i,j)*lcm(i,j)=i*j。故lcm(i,j)=i*j/k

所以我们用莫比乌斯反演算出gcd(i,j)=k 的sum(i*j)既可。又根据独立性可以分离成sum(i)*sum(j),随手搞就行了。O(nlgn)不卡时间

原创粉丝点击