数学:莫比乌斯反演

文章介绍了莫比乌斯函数的定义,包括其分段表达式和质因数分解的解释,以及性质和相关定理。此外,还提供了莫比乌斯函数的代码实现,利用质数筛计算每个数的莫比乌斯函数值。接着,文章探讨了莫比乌斯反演的概念,以及它在解决数论问题中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.莫比乌斯函数:

1.定义

莫比乌斯函数是个分段函数,具体可以表示为

 其中关于第三项的解释,我们可以将n进行质因数分解,得到如下的表达式:

n = p1^{k1} * p2^{k2} * ... * px^{kx},则 \mu (n) = (-1)^{x}.

2.性质:

  • p为任意质数,则 \mu (p) = -1
  • p为任意质数,q为任意正整数, 且满足p不能整除q。则 \mu (p * q) = - \mu(q)

 3.几个定理:

  • 数论分块:考虑含有floor(n / i)求和的式子,对于任意i(i <= n),找到一个最大的j,使得floor(n / i) == floor(n / j),则j = floor(n / (n / i)); 代码实现:
    int g(int a, int k)
    {
        return a / (a / k);
    }

 4.求莫比乌斯函数代码实现:

通过质数筛,筛质数的同时求出每个数的莫比乌斯函数值。

void get_mu(int n)
{
	mu[1] = 1;//1需要特殊处理
	for(int i = 2; i <= n; i++)
	{
		if(!st[i]) primes[cnt++] = i, mu[i] = -1;//质数的莫值为-1
		for(int j = 0; primes[j] <= n / i; j++)
		{
			st[primes[j] * i] = true;
			if(i % primes[j] == 0) break;//先判断p能否整除i
			mu[primes[j] * i] = -mu[i];//性质
		}
	}
	
	for(int i = 1; i <= n; i++) sum[i] = sum[i - 1] + mu[i];//sum维护莫函数前缀和
}


二.莫比乌斯反演:

1.定义及证明:

 

 

2.结论表达:

F,f分别为两个数论函数。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值