西瓜視訊這20億,砸的是什麼?
莫比烏斯函式
- \(\mu\)表示莫比烏斯函式,是一個由容斥係數所構成的函式,\(\mu{(d)}\)的定義是:
1.當d等於1時, \(\mu{(d)} = 1\)
2.當d由k個不同的質因子組成時,\(\mu{(d)} = (-1)^k\) (注:一定是互不相同的質因子
3.其它情況\(\mu{(d)} = 0\)
- 莫比烏斯函式也有很多有趣的性質
性質一:對於任意正整數n,都有\(\sum\limits_{d|n} = [n = 1]\)
即當n等於1時 原式等於1,其它情況下 ,原式等於0
首先當n等於1時 ,顯然答案是1
當n不等於1時,答案與那些\(\mu\)值是0的項肯定沒有關係
現在考慮n有k個互不相同的質因子 它們分別組合
假定i個質因子相互組合 此時的方案數有\(\binom{k}{i}\)種
而此時的\(\mu\)值為\((-1)^k\)
所以對於一個非1的n 最終的求和式子也就是
\((-1)^1*\binom{k}{1}+(-1)^2*\binom{k}{2}+...+(-1)^k*\binom{k}{k}+1\)(最後的1是\(\mu{(1)}\) 因為通過質因子相乘是無法組合出1的,所以要把漏掉的情況補上)
而1又等於\((-1)^0*\binom{k}{0}\)
所以原式就變成了\((-1)^0*\binom{k}{0}+(-1)^1*\binom{k}{1}+(-1)^2*\binom{k}{2}+...+(-1)^k*\binom{k}{k}\)
沒有感到這個式子很熟悉?
不熟悉去找數學老師跪搓衣板
二項式定理:\((a-b)^k = \binom{k}{0}a^k*b^0+\binom{k}{1}a^{k-1}*b^1+...+\binom{k}{k}a^0*b^k\)
所以原式就等於\((1-1)^k\) 即0
性質二:\(\sum\limits_{d|n} = \frac{\varphi_{n}}{n}\)
狄利克雷卷積證明
我不會
篩法比篩一般的積性函式還要簡單一點
void sieve(){ mu[1] = 1; for(int i = 2;i <= maxk - 5;++i) { if(!vis[i]) prime[++cnt] = i,mu[i] = -1; for(int j = 1;j <= cnt && prime[j] * i <= maxk - 5;++j) { vis[prime[j]*i] = 1; mu[i*prime[j]] = -mu[i]; if(i % prime[j] == 0) {mu[i*prime[j]] = 0;break;} } } }
莫比烏斯反演
前提:\(f()\)是積性函式
則有 \(f(n)=\sum\limits_{d|n}g(d) \Leftrightarrow g(n)=\sum\limits_{d|n}\mu(d)f(\frac{n}{d})\)
證明:
\(\sum\limits_{d|n}\mu{(d)}*F(\frac{n}{d}) = \sum\limits_{d|n}\mu{(d)}*\sum\limits_{k|\frac{n}{d}}f(k) = \sum\limits_{d|n}f(d)*\sum\limits_{k|\frac{n}{d}}\mu{(k)} = f(n)\)
關於最後一步:
首先由性質1知 當\(d != n\) 時 答案為0
所以只需要統計當\(d = n\)時的答案
所以最後得到\(f(n)\)
另一種形式:
\(f(n)=\sum\limits_{n|d}g(d) \Leftrightarrow g(n)=\sum\limits_{n|d}\mu(\frac{d}{n})f(d)\)