欧拉函数线性求解以及莫比乌斯反演(Mobius)

前言

咕咕了很久终于来学习莫反了
要不是不让在机房谁会发现数学一本通上有这么神奇的东西
就是没有性质的证实
而后花了两节数学课证实了一遍
舒服~
前置知识:欧拉函数,二项式定理(组合数)
会欧拉函数的能够直接看\(Mobius\)函数

欧拉函数

含义

\(\phi (n)\) 表示比\(n\)小的数中与\(n\)互质的数的个数学习

引理1

  • \(n\)为质数,\(\phi(n) = n - 1\)
  • \(n=a*b\)\((a, b) = 1\),则\(\phi(n) = \phi(a) * \phi(b)\)
  • 对于一个质数\(n\)\(a\)次方 \(\phi(n^a) = (n - 1) * p^{n-1}\)

现对于第三条性质给出证实ui

  • \(n^a\)小的数有\(n^a - 1\)
  • 其中能整除的表示为\(n* t (t = 1, 2, ... n ^{a-1}-1)\)
  • 总计有\(n^{a-1}-1\)个数能被整除
  • 则与其互质的数的个数为\(\phi(p^a) = (n^a-1) - (p^{a-1}+1) = p^a - p^{a-1} = (p-1) * p^{a-1}\)

引理2

对于质数\(n\),惟一分解定理 \(n = {p_1}^{c_1} * {p_2} ^{c_2}...{p_k}^{c_k}\)
\(\phi(n) = n * (1- \frac 1 {p_1}) * (1- \frac 1 {p_2}) ... (1- \frac 1 {p_k})\)
\(a\)\(m\)互质,\(a^{\phi(m)} \equiv 1 (mod \; m)\)spa

线性筛

根据上述性质,推出code

  • \(p\)为质数,\(\phi (p) = p - 1\)
  • \(if(i \% p == 0) \:\ \phi(i*p)=p*\phi(i)\)
  • \(if(i \% p \; != 0) \:\ \phi(i*p)=\phi(i)*(p -1)\)

code

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

莫比乌斯反演(Mobius)

定义

对于非负整数集合上的两个函数\(F(n)\)\(f(n)\),若知足条件\(F(n)=\sum_{d|n}f(d)\)
$$f(n)=\sum_{d|n}\mu(d)F(\frac n d)$$数学

\(\mu\)函数

定义以下class

  • \(d=1\)\(\mu(d)=1\)
  • \(d=p_1p_2p_3...p_k\)均为互异质数,则\(\mu(d)=(-1)^k\)
  • 其余状况\(\mu(d)=0\)

性质一

\[ \sum_{d|n}\mu(d) = \begin{cases} 1, & \text n=1 \\ 0, & \text n>1 \end{cases} \]

证实:
\(n\)为质数,显然\(sum=0\)
\(n\)为合数,根据惟一分解定理im

\[n = {p_1}^{c_1} * {p_2} ^{c_2}...{p_k}^{c_k} \]

\(n\)的因子\(d\)只能是\(p_1p_2,p_1p_3,p_3p_k\)诸如此类
能够发现\(d\)的构造来自于\(k\)个质因子中选取了\(i\)集合

  • \(k\)为奇数即\(n\)中包含奇数个质因子
    \(k\)中选出奇数个因子,\(\mu\)值为-1,对答案贡献为\(-\sum_{i=1}^kC_k^i(i+=2)\)
    \(k\)中选出偶数个因子,\(\mu\)值为1,对答案共享为\(\sum_{i=2}^{k-1}C_k^i(i+=2)\)
    两种状况加和化简得\(-C_k^k=-1\)
    \(sum = -1 + \mu(1)=-1+1=0\)
    得证
  • k为偶数即\(n\)中包含偶数个质因子
    同理可得\(sum=0\)

性质二

\[ \sum_{d|n} \frac {\mu(d)} {d} = \frac {\phi(n)} {n} \]

证实:
同上将\(n\)质因数分解,同时将等号右侧di

\[\frac {\phi(n)} n = (1- \frac 1 {p_1}) * (1- \frac 1 {p_2}) ... (1- \frac 1 {p_k}) \]

\[= \frac {(p_1-1)(p_2-1)...(p_k-1)} {p_1p_2...p_k} \]

一样的,对\(k\)的奇偶性分类讨论

  • \(k\)为奇数
    • 从分子中选取奇数个质因子组成相似于\(p_1p_2p_3\)
      因为剩下了奇数-奇数=偶数个括号,那么在多项式展开式中该项的常数项(不包含其余质因子)系数必定为\(1\)
      与分母约分获得\(\frac {1}{\text {偶数个质因子的积}}\)
      根据\(\mu\)函数的性质能够知道,该化简式等于\(\frac {\mu(\text 分母)} {\text 分母}\)
    • 同理,从中选取偶数个质因子获得的化简结果为
      \(\frac {1}{\text {奇数个质因子的积}}\)
      该化简式也等于\(\frac {\mu(\text 分母)} {\text 分母}\)
    • 固然,分子展开式当中必包含一项\(p_1p_2...p_k=\text 分母\)
      约分结果显然为\(1=\mu(1)/1\)

综上所述$$\frac {\phi(n)}{n}= (1- \frac 1 {p_1}) * (1- \frac 1 {p_2}) ... (1- \frac 1 {p_k})$$

\[=\frac {(p_1-1)(p_2-1)...(p_k-1)} {p_1p_2...p_k} \]

\[=1+\frac {\mu(d)} {d}(d\neq 1,d|n) \]

\[=\frac {\mu(1)}{1} +\frac {\mu(d)} {d}(d\neq 1,d|n) \]

\[= \sum_{d|n} \frac {\mu(d)}{d} \]

原命题得证

  • \(k\)为偶数
    同理便可证实

\[\frac {\phi(n)}{n}= (1- \frac 1 {p_1}) * (1- \frac 1 {p_2}) ... (1- \frac 1 {p_k})= \sum_{d|n} \frac {\mu(d)}{d} \]

原命题得证

反演证实

目标性质$$f(n)=\sum_{d|n}\mu(d)F(\frac n d)$$
证实:
\(F(n)\)\(f(n)\)的关系\(F(n)=\sum_{d|n}f(d)\)将等式推导:

\[\sum_{d|n}\mu(d)F(\frac n d)=\sum_{d|n}\mu(d)\sum_{d'|\frac n d}f(d') \]

\[=\sum_{d|n}\sum_{d'|\frac n d}\mu(d)f(d') \]

可见只有知足\((d*d')|n\)时,函数对答案有贡献
那么不妨交换\(d\)\(d'\)的位置(理解成范围也行)

\[=\sum_{d'|n}\sum_{d|\frac n {d'}}\mu(d)f(d') \]

\[=\sum_{d|\frac n {d'}}\mu(d)\sum_{d'|n}f(d') \]

再观察式子,根据\(\mu(d)\)\(1\)\(0\)的性质,来考虑\(d'\)为什么值时对答案有贡献
可见当且仅当\(d'=n\)\(d=\frac {n}{d'}=1\)时,\(\mu(d)=1\)该式不为\(0\)
不然式子值为\(0\)对答案无贡献

\[=1*\sum_{n|n}f(n) \]

\[=f(n) \]

综上所述

\[\sum_{d|n}\mu(d)F(\frac n d)=f(n) \]

原命题得证!

小结

关于\(Mobius\)的性质纸上推导了两天,建议多手模 思惟量不小~