索引
实用技巧
1、
[[gcd(i,j)=1]=sum_{d|gcd(i,j)}mu(d)
]
证明
根据性质1,其实就是莫比乌斯函数的定义
莫比乌斯函数的性质1
[sum_{d|n}mu(d)=[n=1]
]
那么我们将gcd(i,j)带入n即可得到
[sum_{d|gcd(i,j)}mu(d)=[gcd(i,j)=1]
]
证毕。
2、
求下式
[sum_{j=1}^{n}sum_{j=1}^{m}gcd(i,j),(n<m)
]
因为
[sum_{d|n}varphi(d)=n
]
我们按照套路将上式的要求的式子的(n)替换为(gcd(i,j))
即原式变换为:
[sum_{i=1}^{n}sum_{j=1}^{m}sum_{d|gcd(i,j)}varphi(d)
]
按照套路将d分类得
[sum_{d=1}^{n}varphi(d) imeslfloorfrac{n}{d}
floor imeslfloorfrac{m}{d}
floor
]
结束。
3、
这是套路3(见下)的简化版
将一般求和式转为枚举式
例如下式:
[sum_{i=1}^{lfloorfrac{a}{d}
floor}sum_{j=1}^{lfloorfrac{b}{d}
floor}sum_{x|gcd(i,j)}mu(x)
]
可以转换为:
[sum_{i=1}^{lfloorfrac{a}{d}
floor}sum_{j=1}^{lfloorfrac{b}{d}
floor}sum_{x=1}^{lfloorfrac{a}{d}
floor}mu(x) imes[x|gcd(i,j)]
]
套路
1、若我们想要求
[sum_{i=1}^nsum_{j=1}^m[gcd(i,j)=k]
]
我们不妨将其转换为:
[sum_{i=1}^{lfloorfrac{n}{k}
floor}sum_{j=1}^{lfloorfrac{m}{k}
floor}[gcd(i,j)=1]
]
2、当反演公式中大量出现两个数的乘积时,珂以换元将它变为一个整体
例如:
[sum_{pin ext{素数集合},p|k} sum_{d=1}^{lfloorfrac{n}{p}
floor}mu(d)lfloorfrac{n}{pd}
floorlfloorfrac{m}{pd}
floor
]
令(k=pd),我们将它变换为
[sum_{pin ext{素数集合},p|k} sum_{d=1}^{lfloorfrac{n}{p}
floor}mu(frac{k}{p})lfloorfrac{n}{k}
floorlfloorfrac{m}{k}
floor
]
变换完成
这样做好处是便于优化
3、枚举一个新的变量以简化求和公式
例如
[sum_{k=1}^{n}sum_{i=1}^{lfloorfrac{n}{k}
floor}sum_{j=1}^{lfloorfrac{m}{k}
floor}sum_{d|gcd(i,j)}mu(d) (kin ext{素数集合})
]
我们枚举d取代多余的(sum)
简单来说用枚举(d)来取代枚举(i,j)
于是式子变成了
[sum_{k=1}^{n}sum_{i=d}^{lfloorfrac{n}{k}
floor}mu(d) imeslfloorfrac{n}{kd}
floor imeslfloorfrac{m}{kd}
floor (kin ext{素数集合})
]
参考资料
莫比乌斯反演-让我们从基础开始 作者:[中]·An_account
莫比乌斯反演-从莫比乌斯到欧拉 作者:[中]·An_account