考虑整除关系上的一对容斥,又叫莫比乌斯反演。
首先要会求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)不卡时间
考虑整除关系上的一对容斥,又叫莫比乌斯反演。
首先要会求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)不卡时间