莫比烏斯函式

辜铜星發表於2024-05-30

莫比烏斯函式

定義

\[\mu(x)= \left\{ \begin{matrix} 1 & x=1\\ (-1)^m & x=p_1\\ 0 other \end{matrix} \right. \]

求法

方法1. 直接暴力分解質因數

太水了。

方法2. 埃氏篩

\(O(n\log\log n)\)

方法3. 線性篩

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

相關文章