莫比乌斯反演简略版

推荐讲义

炫酷反演魔术

\(g(x)=\sum\limits_{d|x}f(d) \iff f(x)=\sum\limits_{d|x}\mu(\frac{x}{d})*g(d)\)


\(g(x)=\sum\limits_{x|d}^nf(d) \iff f(x)=\sum\limits_{x|d}^n\mu(\frac{d}{x})*g(d)\)


\(\mu\)为莫比乌斯函数。

定义:\(\sum\limits_{d|x}\mu(d)=[x==1]\)

经分析可得:

\(x=p_1p_2p_3...p_n,\mu(x)=(-1)^n\)

\(x=p^2*d,\mu(x)=0\)

\(x=1,\mu(x)=1\)

\(\mu\)的线性筛代码

	mu[1]=1;
	for(int i=2;i<=n;i++){
		if(!vis[i])prime[++prime[0]]=i,mu[i]=-1;
		for(int j=1;j<=prime[0]&&1ll*i*prime[j]<=n;j++){
			vis[i*prime[j]]=1;
			if(i%prime[j]==0)break;
			mu[i*prime[j]]=-mu[i];
		}
	}

例题:

【BZOJ2818】Gcd

【NOI2010】能量采集

【2011集训贾志鹏】Crash 的数字表格

【SDOI2015】约数个数和

【BZOJ4407】于神之怒加强版

【BZOJ2693】jzptab

【SDOI2017】数字表格

【BZOJ2820】YY的GCD

【SDOI2014】数表

【UR #5】怎样跑得更快

posted @ 2018-11-20 21:48  Emiya_2020  阅读(156)  评论(0编辑  收藏  举报