【学习笔记】欧拉函数&莫比乌斯函数(概念定理)

前置知识

\(a,b,c\) 是正整数,\(\left\lfloor\dfrac{a}{bc}\right\rfloor=\left\lfloor\dfrac{\left\lfloor\dfrac{a}{b}\right\rfloor}{c}\right\rfloor\)

证明:\(\dfrac{a}{b}=\left\lfloor\dfrac{a}{b}\right\rfloor+r(0\le r<1)\\\dfrac{a}{bc}=\dfrac{\left\lfloor\dfrac{a}{b}\right\rfloor+r}{c}\\\because 0\le r<1\\\therefore\left\lfloor\dfrac{a}{bc}\right\rfloor=\left\lfloor\dfrac{\left\lfloor\dfrac{a}{b}\right\rfloor+r}{c}\right\rfloor=\left\lfloor\dfrac{\left\lfloor\dfrac{a}{b}\right\rfloor}{c}\right\rfloor\)

整除分块

整除分块是推柿子时很重要、很常见的技巧。

计算 \(\sum\limits_{i=1}^n\left\lfloor\dfrac{n}{i}\right\rfloor,n\le10^{12}\)

发现会出现相同的值,并且相同的值相邻。

如:\(\sum\limits_{i=1}^{18}\left\lfloor\dfrac{n}{i}\right\rfloor=18+9+6+4+\underline{3+3}+\underline{2+2+2}+\underline{1+...+1}\)

对于 \(i\),求出满足 \(\left\lfloor\dfrac{n}{i}\right\rfloor=\left\lfloor\dfrac{n}{j}\right\rfloor\) 的最大的 \(j\)

\(\left\lfloor\dfrac{n}{i}\right\rfloor\le\dfrac{n}{j}<\left\lfloor\dfrac{n}{i}\right\rfloor+1\Rightarrow j\le\dfrac{n}{\left\lfloor\dfrac{n}{i}\right\rfloor}\Rightarrow \max\{j\}=\left\lfloor\dfrac{n}{\left\lfloor\dfrac{n}{i}\right\rfloor}\right\rfloor\)

时间复杂度降到了 \(\left\lfloor\dfrac{n}{i}\right\rfloor\) 出现不同值的个数。

\(i\le\sqrt n\) 时显然只有 \(\sqrt n\) 种取值;

\(i>\sqrt n\)\(\left\lfloor\dfrac{n}{i}\right\rfloor\le \sqrt n\), 也只有 \(\sqrt n\) 种取值。

时间复杂度 \(\mathcal{O}(\sqrt n)\)

for(; q; --q) {
	ans = 0;
	n = read();
	for(i = 1; i <= n; i = j + 1) {
		j = n / (n / i);
		ans += (j - i + 1) * (n / i);
	}
	printf("%lld\n", ans);
}

\(a\bmod b=a-b\left\lfloor\dfrac{a}{b}\right\rfloor\),拆出来套一个等差数列求和。

for(i = 1; i <= n; i = j + 1) {
	j = k / i ? min(n, k / (k / i)) : n;//注意与 n 取 min
	ans += (i + j) * (j - i + 1) * (k / i);
}
printf("%lld\n", n * k - (ans >> 1));

差不多的套路,留给大家思考。

数论函数

在数论上,算术函数(或称数论函数)指 定义域为正整数、陪域为复数的函数,每个算术函数都可视为复数的序列。

最重要的算术函数是积性及加性函数。算术函数的最重要操作为狄利克雷卷积,对于算术函数集,以它为乘法,一般函数加法为加法,可以得到一个阿贝尔环(不要管这是啥)。

—— from 百度百科

常见的数论函数:

  • 单位函数 \(\epsilon(n)=[n=1]\)
  • 常数函数 \(1(n)=1\)
  • 恒等函数 \(id(n)=n\)
  • 除数函数 \(\sigma_k(n)=\sum\limits_{d\mid n}d^k=\begin{cases}d(n)(\text{约数个数})&k=0\\\sigma(n)(\text{约数和})&k=1\end{cases}\)
  • 欧拉函数 \(\varphi(n)\)(见后文)
  • 莫比乌斯函数 \(\mu(n)\) (见后文)

积性函数

当任意正整数 \(a,b\) 互质时,都有 \(f(a)f(b)=f(ab)\),则 \(f(x)\) 为积性函数。“数论函数”中提到的函数都是积性函数。

性质:若 \(f,g\) 是积性函数,则 \(h(x)=f(x^p),f^p(x),f(x)g(x),\sum\limits_{d\mid n}f(d)g(\dfrac{n}{d})\) 均为积性函数。

证明:前几个自证不难,重点看最后一个。

\(x,y\) 互质时:

\(h(x)h(y)=\sum\limits_{d\mid x}f(d)g(\dfrac{x}{d})\sum\limits_{d\mid y}f(d)g(\dfrac{y}{d})\\=\sum\limits_{d_1\mid x}\sum\limits_{d_2\mid y}f(d_1)g(\dfrac{x}{d_1})f(d_2)g(\dfrac{y}{d_2})\\=\sum\limits_{d_1\mid x}\sum\limits_{d_2\mid y}f(d_1d_2)g(\dfrac{xy}{d_1d_2})\\=\sum\limits_{d\mid xy}f(d)g(\dfrac{xy}{d})\\=h(xy)\)

狄利克雷卷积

\(f,g\) 为数论函数

\((f*g)(n)=\sum\limits_{d\mid n}f(d)g(\dfrac{n}{d})\) 为它们的狄利克雷卷积。

交换律(因子成对出现): \(f*g=g*f\)

结合律:\((f*g)*h=f*(g*h)\)

单位元:\(\epsilon\),任何数论函数卷 \(\epsilon\) 都为其本身。

\(1*1=d\\id*1=\sigma\)

欧拉函数

\(\varphi(n)=\sum\limits_{i=1}^n[\gcd(n,i)=1]\)

大白话:\(1..n\) 中与 \(n\) 互质的数的个数。

性质

1.

\(n=\prod_{i=1}^kp_i^{c_i}\\\varphi(n)=n\prod_{i=1}^k(1-\dfrac{1}{p_i})\)

2.

\(\varphi*1=id\)\(\sum\limits_{d\mid n}\varphi(d)=n\)

证明:设 \(n=\prod\limits_{i=1}^kp_i^{c_i}\),由于 \(\varphi*1\)\(id\) 都是积性函数,所以只需证 \((\varphi*1)(p_i^{c_i})=id(p_i^{c_i})\) 即可。

\(m=p_i^{c_i}\\\sum\limits_{d\mid m}\varphi(d)=\sum\limits_{j=0}^{c_i}\varphi(p_i^j)=1+\sum\limits_{j=0}^{c_i}p_i^{j}-p_i^{j-1}=1+\sum\limits_{j=1}^{c_i}p_i^j-\sum\limits_{j=0}^{c_i-1}p_i^j=p_i^{c_i}\)

3. \(\varphi(p^c)=p^c(1-\frac{1}{p})=p^{c-1}(p-1)\)

线性筛

\(p\) 为质数

\(i=\prod_{j=1}^kp_j^{c_j}\)

\(p\nmid i\)\(\varphi(pi)=\varphi(p)\varphi(i)=(p-1)\varphi(i)\)

\(p\mid i\),说明 \(i\) 含有质因子 \(p\)\(\varphi(pi)=pi\prod_{j=1}^k(1-\dfrac{1}{p_j})=p\varphi(i)\)

欧拉定理

\(\gcd(a,m)=1\),则\(a^{\varphi(m)}\equiv 1(\bmod m)\)

证明:令 \(n =\varphi(m)\)

\([1,m]\) 中与 \(m\) 互质的数分别是 \(R=\{b_1,b_2,\dots,b_n\}\)

易得 \(\prod\limits_{i=1}^nb_i\perp m\)

\(S=\{ab_1\bmod m,ab_2\bmod m,\dots,ab_n\bmod m\}\)

易知 \(S\) 中元素全部小于 \(m\)

\(\because a\perp m\\\therefore\forall i\in[1,n],ab_i\perp m\)\(\gcd(ab_i,m)=1\\\therefore\gcd(ab_i\bmod m,m)=1\)

\(S\) 中无重复元素:

假设存在 \(i,j\) 使 \(b_i>b_j,ab_i\equiv ab_j(\bmod m)\\\therefore a(b_i-b_j)\equiv0(\bmod m)\\\therefore m\mid a(b_i-b_j)\\\because m\nmid b_i,m\nmid b_j\\\therefore m\nmid (b_i-b_j)\\\therefore m\mid a\)

\(a\perp m\) 矛盾,故假设不成立。

\(\therefore S=R\) (都是小于 \(m\) 且与 \(m\) 互质的所有正整数的集合)

\(\therefore \prod\limits_{i=1}^nb_i=\prod\limits_{i=1}^nab_i\bmod m\\\therefore \prod\limits_{i=1}^nab_i\bmod m\equiv a^{n}\prod\limits_{i=1}^nb_i\bmod m\equiv\prod\limits_{i=1}^nb_i(\bmod m)\\\therefore(a^n-1)\prod\limits_{i=1}^nb_i\equiv 0(\bmod m)\\\because\prod\limits_{i=1}^nb_i\perp m\\\therefore m\mid (a^n-1)\\\therefore a^n-1\equiv 0(\bmod m)\\\therefore a^{\varphi(m)}\equiv 1(\bmod m)\)

扩展欧拉定理

\(a,m\) 是正整数,在 \(\bmod m\) 意义下,

\(a^c\equiv\begin{cases}a^{c\bmod\varphi(m)}&\gcd(a,m)=1\\a^c&\gcd(a,m)\neq 1,c<\varphi(m)\\a^{c\bmod\varphi(m)+\varphi(m)}&\gcd(a,m)\neq 1,c\ge\varphi(m)\end{cases}\)

证明:

  1. 欧拉定理推论

\(q=c\bmod\varphi(m)\),则 \(c=p\varphi(m)+q(q<\varphi(m))\)

\(\because a^{\varphi(m)}\equiv 1(\bmod m)\\\therefore a^{\varphi(m)p}\equiv 1(\bmod m)\\\therefore a^{\varphi(m)p+q}\equiv a^q(\bmod m)\\\therefore a^c\equiv a^{c\bmod\varphi(m)}(\bmod m)\)

  1. 显然

  • 引理一

\(x,y>1,x^ay^b=k\),则 \(a,b\le\varphi(k)\)

\(k\) 为质数是貌似没有拆分方法,考虑 \(k=p^n~(n>1)\) 的情况。

\(\varphi(k)=p^{n-1}(p-1)\)

考虑最小化 \(x,y\)\(x=y=p\)),可以最大化 \(a+b\)\(a+b=n\))。所以有 \(a+b\le n\)

\(p=2\) 时,\(\varphi(k)=2^{n-1}\),可以对 \(n\) 做数学归纳法证明 \(2^{n-1}\ge n\)

\(p>2\) 时,若固定 \(n\) 的取值,我们已经证明 \(p=2\) 时,\(\varphi(k)=p^{n-1}(p-1)\ge n\)\(p\) 增大,左边增大,右边不变,不等式仍成立。

所以 \(a+b\le n\le\varphi(k)\)\(a,b\le\varphi(k)\)

\(k\) 为几个质数的幂的乘积,这个感性理解一下

  • 引理二

\(m=ta^k,a\perp t\)(显然只有一种分解方案),则 \(a^k\equiv a^{\varphi(m)+k}(\bmod m),k\le c\)

证明:\(\because a\perp t\\\therefore a^k\perp t\\\therefore\varphi(m)=\varphi(t)\varphi(a^k)\\\because a^{\varphi(t)}\equiv 1(\bmod t)\\\therefore a^{\varphi(m)}\equiv a^{\varphi(t)\varphi(a^k)}\equiv 1(\bmod t)\\\therefore a^k\equiv a^{\varphi(m)+k}(\bmod m)\)

(最后一步,恒等号左右、模数同时 \(\times a^k\)

\(\because t^1a^k=m\\\therefore k\le\varphi(m)\\\therefore k\le c\)

切回正题。

\(a^c\equiv a^{c-k+k}\equiv a^{\varphi(m)+c-k+k}\equiv a^{\varphi(m)+c}(\bmod m)\)

由数学归纳法可得 \(x\varphi(m)+c>0\) 时, \(a^c\equiv a^{x\varphi(m)+c}(\bmod m)\)

\(\varphi(m)\mid c\)\(x\) 最大为 \(-\left\lfloor\dfrac{c}{\varphi(m)}\right\rfloor+1\)

否则 \(x=-\left\lfloor\dfrac{c}{\varphi(m)}\right\rfloor\)

\(\therefore a^c\equiv a^{c\bmod\varphi(m)+\varphi(m)}(\bmod m)\)

莫比乌斯函数

\(n=\prod\limits_{i=1}^{m}p_i^{c_i}\)

\(\mu(n)=\begin{cases}1&n=1\\(-1)^m&\prod\limits_{i=1}^{m}c_i=1(\text{即} c_1=c_2=\dots=c_m=1)\\0&\text{otherwise}\end{cases}\)

大白话:

\(\mu(n)=\begin{cases}1&n=1\\(-1)^m&n\text{含有次数大于 1 的质因子}\\0&\text{其他情况(n 不为 1 且不含次数大于 1 的质因子)}\end{cases}\)

性质

1.

\(\mu*1=\epsilon\)\(\sum\limits_{d\mid n}\mu(d)=[n=1]\)

证明:

\(n=1\) 时显然成立。

\(n\neq 1\) 时,设 \(n=\prod_{j=1}^kp_j^{c_j}\)

不考虑 \(\mu(d)=0\) 的贡献。

剩下的因数包含的质因子不超过 \(1\) 次。

于是 \(\sum\limits_{d\mid n}\mu(d)=\sum\limits_{i=0}^k(-1)^iC_k^i\)

考虑二项式定理,令 \(x=-1,y=1\)\((x+y)^k=\sum\limits_{i=0}^k(-1)^iC_k^i=0\)

\(\therefore \sum\limits_{d\mid n}\mu(d)=0\)

2.

\(\mu*id=\varphi\)\(\sum\limits_{d\mid n}\dfrac{n}{d}\mu(d)=\varphi(n)\)

证明:

\(\mu*id=\mu*\varphi*1=\varphi*\epsilon=\varphi\)

线性筛

\(p\) 为质数

\(p\nmid i\)\(\mu(pi)=\mu(p)\mu(i)=-\mu(i)\)

\(p\mid i\),说明 \(ip\)\(p\) 次数大于等于 \(2\)\(\mu(pi)=0\)

莫比乌斯反演

\(F(n)=\sum\limits_{d\mid n}f(d)\),则 \(f(n)=\sum\limits_{d\mid n}\mu(d)F(\dfrac{n}{d})\)

证明:

\(F=f*1\\F*\mu=f*1*\mu\\F*\mu=f*\epsilon\\f=F*\mu=\mu*F\\f(n)=\sum\limits_{d\mid n}\mu(d)F(\dfrac{n}{d})\)

部分参考:

  1. 一扶苏一 【数论数学】扩展欧拉定理

  2. 一份神秘的手稿

  3. https://zgjkt.blog.uoj.ac/slide/523#/

posted @ 2020-10-18 15:25  EverlastingEternity  阅读(971)  评论(0编辑  收藏  举报