浅谈莫比乌斯反演

Latex炸了,可以看这里

α.莫比乌斯函数的性质

性质1

莫比乌斯函数是积性函数,即:

x , y x,y x,y 互质,则 μ ( x y ) = μ ( x ) μ ( y ) \mu(xy)=\mu(x)\mu(y) μ(xy)=μ(x)μ(y)

证:

考虑讨论 μ ( x ) \mu(x) μ(x) μ ( y ) \mu(y) μ(y) 的值

1.若 $\mu(x)= 0 或 0或 0\mu(y)=0$,则 x , y x,y x,y 两数中有平方因子,所以 x y xy xy 必然存在平方因子,所以 μ ( x y ) = 0 \mu(xy)=0 μ(xy)=0

2.若 μ ( x ) ≠ 0 且 μ ( y ) ≠ 0 \mu(x)\neq0且\mu(y)\neq0 μ(x)=0μ(y)=0,则 x , y x,y x,y 的质因子都只出现了一次,又因为 x , y x,y x,y 互质,所以 x y xy xy 的每个质因子都只出现了一次,所以 μ ( x y ) = μ ( x ) μ ( y ) \mu(xy)=\mu(x)\mu(y) μ(xy)=μ(x)μ(y)

利用莫比乌斯函数是不完全积性函数的特点,我们可以用线性筛来快速求出莫比乌斯函数的值,代码如下:

const int N = 1e6+5;

int cnt,fl[N],pr[N],mu[N];

void init(int n){
	mu[1]=1;
	for(int i=2;i<=n;i++){
		if(!fl[i]) pr[++cnt]=i,mu[i]=-1;//质数只有一个质因子,所以mu[i]为-1
		for(int j=1;j<=cnt&&i*pr[j]<=n;j++){
			vis[i*pr[j]]=1;
			if(i%pr[j])mu[i*pr[j]]=-mu[i];//i*pr[j]相较于i多了一个质因子,所以值取反
			else{
				mu[i*pr[j]]=0;//pr[j]是i的因子,所以i*pr[j]就至少含有两个pr[j],即存在平方因子 
				break;
			} 
		} 
	}
}
性质2

n = 1 n=1 n=1,则 ∑ d ∣ n μ ( d ) = 1 \sum_{d|n}\mu(d)=1 dnμ(d)=1

n > 1 n\gt1 n>1,则 ∑ d ∣ n μ ( d ) = 0 \sum_{d|n}\mu(d)=0 dnμ(d)=0

证:

n = 1 n=1 n=1 时,显然成立

n > 1 n\gt1 n>1 时,令 n = ∏ p k k k n=\prod p_k^{k_k} n=pkkk n n n 的正因子 d = ∏ p k q k d=\prod p_k^{q_k} d=pkqk

因为质因子幂次数大于 1 1 1 μ μ μ 值为 0 0 0, 所以只需考虑幂为 0 , 1 0,1 0,1 的质因子项,所以:

∑ d ∣ n μ ( d ) = ∑ k = 0 m ( m k ) × ( − 1 ) k = ∑ k = 0 m ( m k ) × ( − 1 ) k × 1 m − i \sum_{d|n}\mu(d)=\sum_{k=0}^m\begin{pmatrix}m\\k\end{pmatrix}\times(-1)^k=\sum_{k=0}^m\begin{pmatrix}m\\k\end{pmatrix}\times(-1)^k\times1^{m-i} dnμ(d)=k=0m(mk)×(1)k=k=0m(mk)×(1)k×1mi

根据二项式定理,上述式子是 ( 1 − 1 ) m (1-1)^m (11)m 的二项式展开,所以原式为 0 0 0

性质3

∑ i = 1 n ∑ d ∣ n μ ( d ) = ∑ d = 1 n ⌊ n d ⌋ μ ( d ) \sum_{i=1}^{n}\sum_{d|n}\mu(d)=\sum_{d=1}^{n}\lfloor\frac{n}{d}\rfloor\mu(d) i=1ndnμ(d)=d=1ndnμ(d)

证:

反向思考,满足是 d d d 的倍数的 i i i [ 1 , n ] [1,n] [1,n] 中只出现了 ⌊ n d ⌋ \lfloor\frac{n}{d}\rfloor dn 次。

性质4

∑ d ∣ n μ ( d ) d = φ ( n ) n \sum_{d|n}\frac{\mu(d)}{d}=\frac{\varphi(n)}{n} dndμ(d)=nφ(n)

β.莫比乌斯函数的经典运用

运用1

试求 ∑ i = 1 n ∑ j = 1 m [ g c d ( i , j ) = 1 ] \sum_{i=1}^{n}\sum_{j=1}^{m}[gcd(i,j)=1] i=1nj=1m[gcd(i,j)=1]的值

不妨设, n < m n<m n<m,根据性质2,将 [ g c d ( i , j ) = 1 ] [gcd(i,j)=1] [gcd(i,j)=1] 替换为 ∑ d ∣ g c d ( i , j ) μ ( d ) \sum_{d|gcd(i,j)}\mu(d) dgcd(i,j)μ(d),则原式化为:

∑ i = 1 n ∑ j = 1 m ∑ d ∣ g c d ( i , j ) μ ( d ) \sum_{i=1}^{n}\sum_{j=1}^{m}\sum_{d|gcd(i,j)}\mu(d) i=1nj=1mdgcd(i,j)μ(d)

我们又发现, d ∣ g c d ( i , j ) d|gcd(i,j) dgcd(i,j)的充分必要条件是 d ∣ i d|i di d ∣ j d|j dj,所以原式又可以化作:

∑ i = 1 n ∑ j = 1 m ∑ d ∣ i ∑ d ∣ j μ ( d ) \sum_{i=1}^{n}\sum_{j=1}^{m}\sum_{d|i}\sum_{d|j}\mu(d) i=1nj=1mdidjμ(d)

前后调整求和符号的位置,得:

∑ i = 1 n ∑ d ∣ i ∑ j = 1 m ∑ d ∣ j μ ( d ) \sum_{i=1}^{n}\sum_{d|i}\sum_{j=1}^{m}\sum_{d|j}\mu(d) i=1ndij=1mdjμ(d)

根据性质3,化简原式得:

∑ d = 1 n ⌊ n d ⌋ ∑ d = 1 m ⌊ m d ⌋ μ ( d ) \sum_{d=1}^{n}\lfloor\frac{n}{d}\rfloor\sum_{d=1}^m\lfloor\frac{m}{d}\rfloor\mu(d) d=1ndnd=1mdmμ(d)

又发现前后两个 ∑ \sum 中的 d d d 是一个 d d d,所以只能取到 min ⁡ ( n , m ) \min(n,m) min(n,m) n n n,将两个 ∑ \sum 合并得到(前面我们假定了 n < m n<m n<m):

∑ d = 1 n ⌊ n d ⌋ ⌊ m d ⌋ μ ( d ) \sum_{d=1}^{n}\lfloor\frac{n}{d}\rfloor\lfloor\frac{m}{d}\rfloor\mu(d) d=1ndndmμ(d)

运用2:

试求 ∑ i = 1 n ∑ j = 1 m [ g c d ( i , j ) = k ] \sum_{i=1}^{n}\sum_{j=1}^{m}[gcd(i,j)=k] i=1nj=1m[gcd(i,j)=k]的值

考虑对原式整体除以 k k k,得到 ∑ i = 1 ⌊ n k ⌋ ∑ j = 1 ⌊ m k ⌋ [ g c d ( i , j ) = 1 ] \sum_{i=1}^{\lfloor\frac{n}{k}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{k}\rfloor}[gcd(i,j)=1] i=1knj=1km[gcd(i,j)=1]

现在我们就已经将问题转化为运用1了,最终的结果为:
∑ d = 1 ⌊ n k ⌋ ⌊ n k d ⌋ ⌊ m k d ⌋ μ ( d ) \sum_{d=1}^{\lfloor\frac{n}{k}\rfloor}\lfloor\frac{n}{kd}\rfloor\lfloor\frac{m}{kd}\rfloor\mu(d) d=1knkdnkdmμ(d)

运用3

试求 ∑ i = 1 n ∑ j = 1 m i j × [ g c d ( i , j ) = k ] \sum_{i=1}^{n}\sum_{j=1}^{m}ij\times[gcd(i,j)=k] i=1nj=1mij×[gcd(i,j)=k] 的值

还是先同运用2,将原式化简,不过要注意的是,要另外考虑 i , j i,j i,j 的贡献,由于我们对原式整体除以 k k k i i i j j j 都变为了原大小的 1 k \frac{1}{k} k1 的应对结果乘以 k 2 k^2 k2,即原式化为:

∑ i = 1 ⌊ n k ⌋ ∑ j = 1 ⌊ m k ⌋ i j k 2 × [ g c d ( i , j ) = 1 ] \sum_{i=1}^{\lfloor\frac{n}{k}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{k}\rfloor}ijk^2\times[gcd(i,j)=1] i=1knj=1kmijk2×[gcd(i,j)=1]

还是老套路,将 [ g c d ( i , j ) = 1 ] [gcd(i,j)=1] [gcd(i,j)=1] 替换为 ∑ d ∣ g c d ( i , j ) μ ( d ) \sum_{d|gcd(i,j)}\mu(d) dgcd(i,j)μ(d),拆开:

∑ i = 1 ⌊ n k ⌋ ∑ j = 1 ⌊ m k ⌋ i j k 2 ∑ d ∣ i ∑ d ∣ j μ ( d ) \sum_{i=1}^{\lfloor\frac{n}{k}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{k}\rfloor}ijk^2\sum_{d|i}\sum_{d|j}\mu(d) i=1knj=1kmijk2didjμ(d)

将前面 ∑ \sum 拆开,得:

∑ i = 1 ⌊ n k ⌋ ∑ j = 1 ⌊ m k ⌋ i j k 2 × ∑ i = 1 ⌊ n k ⌋ ∑ j = 1 ⌊ m k ⌋ ∑ d ∣ i ∑ d ∣ j μ ( d ) \sum_{i=1}^{\lfloor\frac{n}{k}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{k}\rfloor}ijk^2\times\sum_{i=1}^{\lfloor\frac{n}{k}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{k}\rfloor}\sum_{d|i}\sum_{d|j}\mu(d) i=1knj=1kmijk2×i=1knj=1kmdidjμ(d)

同运用1化简后面的四个 ∑ \sum ,得到:

∑ i = 1 ⌊ n k ⌋ ∑ j = 1 ⌊ m k ⌋ i j k 2 × ∑ i = 1 ⌊ n k ⌋ μ ( d ) \sum_{i=1}^{\lfloor\frac{n}{k}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{k}\rfloor}ijk^2\times\sum_{i=1}^{\lfloor\frac{n}{k}\rfloor}\mu(d) i=1knj=1kmijk2×i=1knμ(d)

合并,并将前面的两个 ∑ \sum 提出两个 d d d 出来,并将 d 2 d^2 d2 置于后面,得到:

∑ i = 1 ⌊ n k d ⌋ ∑ j = 1 ⌊ m k d ⌋ i j k 2 × ∑ i = 1 ⌊ n k ⌋ μ ( d ) × d 2 \sum_{i=1}^{\lfloor\frac{n}{kd}\rfloor}\sum_{j=1}^{\lfloor\frac{m}{kd}\rfloor}ijk^2\times\sum_{i=1}^{\lfloor\frac{n}{k}\rfloor}\mu(d)\times d^2 i=1kdnj=1kdmijk2×i=1knμ(d)×d2

最后发现,几个 ∑ \sum 之间没有依赖关系,将它们分开:

k 2 × ∑ i = 1 ⌊ n k ⌋ μ ( d ) × d 2 × ∑ i = 1 ⌊ n k d ⌋ i × ∑ j = 1 ⌊ m k d ⌋ j k^2\times\sum_{i=1}^{\lfloor\frac{n}{k}\rfloor}\mu(d)\times d^2\times\sum_{i=1}^{\lfloor\frac{n}{kd}\rfloor}i\times\sum_{j=1}^{\lfloor\frac{m}{kd}\rfloor}j k2×i=1knμ(d)×d2×i=1kdni×j=1kdmj

运用4
前置知识

∑ d ∣ n φ ( d ) = n \sum_{d|n}\varphi(d)=n dnφ(d)=n

证:

先令 f ( x ) = ∑ d ∣ x φ ( d ) = n f(x)=\sum_{d|x}\varphi(d)=n f(x)=dxφ(d)=n,对于 ∀ i , j \forall i,j i,j 满足 g c d ( i , j ) = 1 gcd(i,j)=1 gcd(i,j)=1,有 f ( i j ) = ∑ d ∣ i j φ ( d ) = ∑ d ∣ i φ ( d ) × ∑ d ∣ j φ ( d ) = f ( i ) f ( j ) f(ij)=\sum_{d|ij}\varphi(d)=\sum_{d|i}\varphi(d)\times\sum_{d|j}\varphi(d)=f(i)f(j) f(ij)=dijφ(d)=diφ(d)×djφ(d)=f(i)f(j),由此可知 f f f 是不完全积性函数。

n n n 进行质因数分解,假定 n = ∏ p k q k n=\prod p_k^{q_k} n=pkqk,考虑单独计算每一个 f ( p k q k ) f(p_k^{q_k}) f(pkqk)

f ( p k q k ) = ∑ i = 0 q k φ ( p k i ) = 1 + ∑ i = 1 q k p k i − 1 × ( p k − 1 ) f(p_k^{q_k})=\sum_{i=0}^{q_k}\varphi(p_k^i)=1+\sum_{i=1}^{q_k}p_k^{i-1}\times(p_k-1) f(pkqk)=i=0qkφ(pki)=1+i=1qkpki1×(pk1)

根据等比数列求和公式可得上述式子等于 p k q k p_k^{q_k} pkqk,即 f ( p k q k ) = p k q k f(p_k^{q_k})=p_k^{q_k} f(pkqk)=pkqk,所以 ∑ d ∣ n φ ( d ) = f ( n ) = f ( ∏ p k q k ) = ∏ f ( p k q k ) = ∏ p k q k = n \sum_{d|n}\varphi(d)=f(n)=f(\prod p_k^{q_k})=\prod f(p_k^{q_k})=\prod p_k^{q_k}=n dnφ(d)=f(n)=f(pkqk)=f(pkqk)=pkqk=n

正文

试求 ∑ i = 1 n ∑ j = 1 m gcd ( i , j ) \sum_{i=1}^{n}\sum_{j=1}^{m}\text{gcd}(i,j) i=1nj=1mgcd(i,j)

有了上面的铺垫,我们很容易想到将 gcd ( i , j ) \text{gcd}(i,j) gcd(i,j) 替换成 ∑ d ∣ gcd ( i , j ) φ ( d ) \sum_{d|\text{gcd}(i,j)}\varphi(d) dgcd(i,j)φ(d)

∑ i = 1 n ∑ j = 1 m ∑ d ∣ gcd ( i , j ) φ ( d ) \sum_{i=1}^{n}\sum_{j=1}^{m}\sum_{d|\text{gcd}(i,j)}\varphi(d) i=1nj=1mdgcd(i,j)φ(d)

同运用1,将 d ∣ gcd ( i , j ) d|\text{gcd}(i,j) dgcd(i,j) 的条件拆开,并调换顺序,得:

∑ i = 1 n ∑ d ∣ i ∑ j = 1 m ∑ d ∣ j φ ( d ) \sum_{i=1}^{n}\sum_{d|i}\sum_{j=1}^{m}\sum_{d|j}\varphi(d) i=1ndij=1mdjφ(d)

继续同运用1,得到:

∑ d = 1 n φ ( d ) ⌊ n d ⌋ ⌊ m d ⌋ \sum_{d=1}^{n}\varphi(d)\lfloor\frac{n}{d}\rfloor\lfloor\frac{m}{d}\rfloor d=1nφ(d)dndm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值