莫比乌斯反演汇总【算法+题目】

前置知识:

u ( N ) u(N) u(N) 取值:
  • u ( 1 ) = 1 u(1)=1 u(1)=1
  • N N N中所有质因子各不相同,若 N N N有偶数个质因子, u ( N ) = 1 u(N)=1 u(N)=1,若 N N N有奇数个质因子, u ( N ) = − 1 u(N)=-1 u(N)=1
  • 其他情况 u ( N ) = 0 u(N)=0 u(N)=0
  • ∑ d ∣ n u ( d ) d = φ ( n ) n \sum\limits_{d|n} \frac{u(d)}{d}=\frac{\varphi(n)}{n} dndu(d)=nφ(n)
  • ∑ d ∣ n u ( d ) = { 1     ( n = 1 ) 0     ( n > 1 ) \sum\limits_{d|n}u(d)=\left\{ \begin{aligned} 1 & \ \ \ (n=1) \\ 0 & \ \ \ (n>1) \\ \end{aligned} \right. dnu(d)={10   (n=1)   (n>1)
反演形式:

形式一(约数反演): F ( n ) = ∑ d ∣ n f ( d ) ⟹ f ( n ) = ∑ d ∣ n u ( d ) F ( n d ) F(n)=\sum\limits_{d|n}f(d) \Longrightarrow f(n)=\sum\limits_{d|n}u(d)F(\frac{n}{d}) F(n)=dnf(d)f(n)=dnu(d)F(dn)

形式二(倍数反演): F ( n ) = ∑ n ∣ d f ( d ) ⟹ f ( n ) = ∑ n ∣ d u ( d n ) F ( d ) F(n)=\sum\limits_{n|d}f(d) \Longrightarrow f(n)=\sum\limits_{n|d}u(\frac{d}{n})F(d) F(n)=ndf(d)f(n)=ndu(nd)F(d)

积性函数:
  • f ( x y ) = f ( x ) f ( y ) f(xy)=f(x)f(y) f(xy)=f(x)f(y) , 当 g c d ( x , y ) = 1 gcd(x,y)=1 gcd(x,y)=1 时成立, 则 f ( n ) f(n) f(n)为积性函数。[ φ ( n ) 、 u ( n ) \varphi(n) 、u(n) φ(n)u(n) 均为积性函数]
  • f ( x y ) = f ( x ) f ( y ) f(xy)=f(x)f(y) f(xy)=f(x)f(y) , 对于任意 x x x y y y 均成立, 则 f ( n ) f(n) f(n)为完全积性函数。
总体原则:
  • 对于一些函数 f ( n ) f(n) f(n),如果我们很难直接求出它的值,而容易求出倍数和或约数和 F ( n ) F(n) F(n),那么我们可以通过莫比乌斯反演求得 f ( n ) f(n) f(n) 的值。

相关推荐
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页