[数论]莫比乌斯反演1
索引
前言
本篇內容全部為定理,無證明
定義
莫比烏斯函數的符號為\(\mu\),通俗的來講
\[ \mu(n) = \left\{ \begin{matrix} 1 & n=1\\ (-1)^k & n = p_1p_2p_3\dots p_k\\ 0 & \text{其他情況} \end{matrix} \right. \]
簡單的說就是,如果\(n = 1\), \(\mu(n) = 1\);\(n\)的因數多于兩個時\(\mu(d)=(-1)^k\),\(k\)為\(n\)的因數個數,其余時候\(\mu(n)=0\)。
其實真正的定義式如下:
\[\sum_{d|n} \mu(d)=[n=1]\]
然而方便起見我們還是采用最上面那個。
莫比烏斯函數的三個性質
1、莫比烏斯函數在n=1時\(\sum_{d|n}\mu(d)\)為1,其他時候為0
\[\sum_{d|n} \mu(d)=[n=1]\]
P.S.這條本來不是性質,是定義
2、莫比烏斯函數是積性函數(不完全積性)
???即:
\[\mu(m \times n) = \mu(m) \times \mu(n)\]
\[\text{當且僅當}gcd(m,n)=1\]
3、對于任意的整數n
\[\sum_{d|n}\frac{\mu(d)}ze8trgl8bvbq=\frac{\phi(n)}{n}\]
莫比烏斯反演
形式A
若在\(N^+\)上有兩個函數\(f(n)\)和\(g(n)\)滿足
\[g(n)=\sum_{d|n}f(n)\]
???那么
\[f(n)=\sum_{d|n}\mu(d)g(\frac{n}ze8trgl8bvbq)\]
形式B
若在\(N^+\)上有兩個函數\(f(n)\)和\(g(n)\)滿足
\[g(n)=\sum_{d|n}f(n)\]
???那么
\[f(n)=\sum_{n|d}\mu(\fracze8trgl8bvbq{n})g(d)\]
計算莫比烏斯函數
做法A:定義法
暴力枚舉每一個數的質因子及其冪次,根據定義判斷即可。效率較低。
做法B:線性篩
前文講到了莫比烏斯函數是積性函數,那么我們珂以用線性篩來計算
首先,可以確定的是質數的函數值一定是\(-1\)
然后,如果是被素數更新到的合數,那么每一次都取反(1變-1,-1變1)。
要保證被最小的質因子更新
代碼
void getMu(int n){mu[1] = 1; is_not_prime[0] = is_not_prime[1] = 1;for (int i = 2; i <= n; ++i){if (!is_not_prime[i]) mu[primes[++prime_num] = i] = -1;for (int j = 1; j <= prime_num && primes[j] * i <= n; ++j){is_not_prime[i * primes[j]] = 1;if (!(i % primes[j])) break;elsemu[primes[j] * i] = -mu[i];}} }參考資料
?莫比烏斯反演 作者:[中]·Gaussian 參考內容:部分性質
「莫比烏斯反演」學習筆記 作者:[中]·Chhokmah 參考內容:莫比烏斯函數的計算
轉載于:https://www.cnblogs.com/linzhengmin/p/10994520.html
總結
以上是生活随笔為你收集整理的[数论]莫比乌斯反演1的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华为移动路由器怎么用 华为路由器如何使用
- 下一篇: 游戏英文网名154个