莫比乌斯反演学习笔记

莫比乌斯反演学习笔记

前言

之前学了一遍,只学了朴素的莫比乌斯反演,现在第二次面对不知道能否有所长进。

性质

莫比乌斯反演是数论中的重要内容。对于一些函数 f(n),如果难以直接求出它的值,但容易求得其倍数和或约数和 g(n),那么可以通过莫比乌斯函数反演简化运算,从而求得 f(n) 的值。

前置知识

数论分块+狄利克雷卷积。

莫比乌斯函数

μ 为莫比乌斯函数,定义为:

μ(n)={1n=10n 含有平方因子(1)kk 为 n 的本质不同质因子个数

即对于 n=piαi

μ(n)={1n=10αi2(1)iαi=1

容易看出,莫比乌斯函数是积性函数,同时满足以下性质:

d|nμ(d)={1n=10n1

求解

由于莫比乌斯函数是积性函数,所以可以采用线性筛求解。

代码

void get_miu(int N){
	miu[1]=1;
	for(int i=2;i<=N;i++){
		if(!vis[i]){
			p[++cnt]=i;
			miu[i]=-1;
		}
		for(int j=1;p[j]<=N/i;j++){
			vis[i*p[j]]=1; 
			if(i%p[j]==0)break;//说明其含有平方因子,不做处理
			else miu[i*p[j]]=-miu[i];//否则根据积性函数的性质求解
		}
	}
    return ;
}

莫比乌斯变换

有以下两种形式,即文章开头提及的约数和和倍数和的形式。

约数和:如果 F(n)=d|nf(d),那么 f(n)=d|nμ(nd)F(d)

倍数和:如果 F(n)=n|df(d),那么 f(n)=n|dμ(dn)F(d)

posted @   DycIsMyName  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?
点击右上角即可分享
微信分享提示