Problem
求
∑na=1∑nb=1[lcm(a,b)>n]
1≤n≤1010
Solution
莫比乌斯反演。
首先要求
lcm(a,b)>n
,那么就可以用
n2
减去
lcm(a,b)≤n
,即:
∑na=1∑nb=1[lcm(a,b)≤n]
即求满足(a,b)=1且
abc≤n
的三元组(a,b,c)的个数
即
∑(a,b)=1[nab]
于是我们设:
f(d)=∑(a,b)=d[nab]
g(d)=∑d|(a,b)[nab]=∑[nd]a=1∑[nd]b=1[[nd2]ab]
发现g(d)的式子中a和b的取值不可能超过
[nd2]
于是:
g(d)=∑d|(a,b)[nab]=∑[nd2]a=1∑[nd2]b=1[[nd2]ab]
由g(d)和f(d)的定义可得:
g(d)=∑ndi=1f(i×d)
反演得到:
f(d)=∑ndi=1μ(i)×g(i×d)
于是:
Ans=f(1)=∑ndi=1μ(i)×g(i)
=∑ndi=1μ(i)×[abc≤n]
按照张俊的方法,可以假定
a≤b≤c
,然后特殊情况另外讨论,发现a,b的范围是有个区间的,然后c是可以根据a,b算出来的,于是就可以做了。