感觉莫比乌斯反演的可操作性不大。
一般地:
∑ d ∣ n μ ( d ) = [ n = 1 ] \sum_{d|n}\mu(d)=[n=1] ∑d∣nμ(d)=[n=1] - 公式 1
欧拉反演:
∑ d ∣ n ϕ ( d ) = n \sum_{d|n}\phi(d)=n ∑d∣nϕ(d)=n - 公式 2
例一:求 ∑ i = 1 n gcd ( i , n ) \sum_{i=1}^n\gcd(i,n) ∑i=1ngcd(i,n)
sol:原式 = ∑ j ∣ n n j ϕ ( j ) \sum_{j|n}\frac{n}{j}\phi(j) ∑j∣njnϕ(j) (代入公式 2 即可)
例二:求 ∑ i = 1 n ∑ j = 1 m gcd ( i , j ) \sum_{i=1}^n\sum_{j=1}^m\gcd(i,j) ∑i=1n∑j=1mgcd(i,j)
sol:原式 = ∑ d = 1 n ⌊ n d ⌋ ⌊ m d ⌋ ϕ ( d ) \sum_{d=1}^n\lfloor\frac{n}{d}\rfloor\lfloor\frac{m}{d}\rfloor\phi(d) ∑d=1n⌊dn⌋⌊dm⌋ϕ(d) (代入公式 2)
现在我们对一次的 gcd 有了一定了解。
考察一些高次结构 ?
第一步反演往往能够想到,而第二步通常需要一些 积性函数预处理 。
例子 :[国家集训队]Crash的数字表格 / JZPTAB
求 ∑ i = 1 n ∑ j = 1 m lcm ( i , j ) \sum_{i=1}^n\sum_{j=1}^m\text{lcm}(i,j) ∑i=1n∑j=1mlcm(i,j) ???
点拨:不难想到 两次整除分块 的做法
进一步思考,能否调换枚举方式 ?
o(n^{3/2}) -> o(n^{1/2})