OI 数学定理(提高级)
Lonely_Peak · · 算法·理论
这里整理了在 CCF CSP-S 中可能会用到的数学定义与定理,希望对备战 CSP-S 的选手有所帮助。
数论和线性代数
质数与约数
1. 算数基本定理
每个数都能唯一的表示成它的质因数的乘积。
2. 约数
-
约数个数:
\prod_{i=1}^{k}(a_i + 1)=(a_1 +1)(a_2+1)\cdots(a_k+1) -
约数之和:
3. 积性函数
定义在所有正整数上的函数称为算术函数。如果算术函数
如果对任意两个正整数
- 积性函数的和函数也是积性函数。如果
f 是积性函数,那么f 的和函数F(n)=\sum_{d|n} f(d) 也是积性函数。
4.常见积性函数
- 恒等函数
I(n) :I(n)=n - 单位函数
id(n) :id(n)=n - 幂函数
I_k(n) :I_k(n)=n^k - 元函数
\varepsilon(n) :
- 因子和函数
\sigma(n) :\sigma(n)=\sum_{d|n} d - 约数个数
d(n) :d(n)=\sum_{d|n} 1
5. 欧拉函数
设
- 若
p 是质数,则\varphi(p)=p-1 。 - 若
p 是质数,则\varphi(p^k)=(p-1)p^{k-1} 。 - 积性函数:若
\gcd(m,n)=1 ,则\varphi(mn)=\varphi(m)\varphi(n) 。
计算方法:
6. 唯一分解定理
7. 莫比乌斯函数的定义
8. 欧拉定理
对于整数
裴蜀定理与同余式
1. 最大公因数
-
\gcd(a,b) = \gcd(a,a+b) = \gcd(a,k\cdot a+b) -
\gcd(ka,kb)=k\cdot \gcd(a,b) -
若
\gcd(a,b)=d ,则\gcd(\frac{a}{d},\frac{b}{d})=1 ,即\frac{a}{d} 与\frac{b}{d} 互质。 -
\gcd(a+cb,b)=\gcd(a,b) 2. 最小公倍数
-
\text{lcm}(a, b) = a\times b\div \gcd(a, b) = a\div\gcd(a, b)\times b 3. 裴蜀定理
对于整数
a ,b ,设d=\gcd(a,b) ,对于整数m ,方程ax+by=m 有解当且仅当m 是d 的倍数。特别的,ax+by=1 有解当且仅当a 与b 互质。(如果a 与b 均为整数,则有整数x 和y 使得ax + by = \gcd(a, b) )
4. 模运算的性质
-
加:
(a+b) \mod m = [(a \mod m) + (b \mod m)] \mod m -
减:
(a-b) \mod m = [(a \mod m) - (b \mod m)] \mod m -
乘:
(a\times b) \mod m = [(a \mod m) \times (b \mod m)] \mod m 5. 同余
设
m 是正整数,若a 和b 是整数,且m | (a - b) ,则称a 和b 模m 同余。a 除以m 得到的余数,和b 除以m 的余数相同;或者说,a - b 除以m ,余数是0 。
把
6. 逆
给定整数
7. 逆与除法取模
设
经过上述推导,除法的模运算转换为乘法模运算,即:
8. 威尔逊定理
若
不定方程与同余方程
1. 二元线性丢番图方程
-
二元线性丢番图方程
ax+by=c 。(a,b,c 是已知整数,x,y 是变量,问是否有整数解)ax + by = c 有解的充分必要条件是d = \gcd(a, b) 能整除c 。 -
设
a ,b 是整数且\gcd(a, b) = d 。- 如果
d 不能整除c ,方程ax + by = c 没有整数解 - 如果
d 能整除c ,那么存在无穷多个整数解。 - 如果
(x_0,y_0) 是方程的一个特解,通解:\$y = y_0 - (a\div d)n$ 其中 $n$ 是任意整数。
- 如果
2. 扩展欧几里得算法与二元丢番图方程的解
-
判断方程
ax + by = c 是否有整数解,即\gcd(a,b) 能整除c 。记d = \gcd(a,b) 。 -
方程
ax + by = c 的通解:x = x_0' + (b\div d)n,y = y_0' - (a\div d)n
3. 一元线性同余方程
-
设
x 是未知数,给定a 、b 、m ,求整数x ,满足ax \equiv b (\text{mod}\space m) 。 -
求解一元线性同余方程等价于求解二元线性丢番图方程。
4. 中国剩余定理
对于上述方程,若
5. 扩展中国剩余定理
对于上述方程,
-
其特解:
p=p\times \frac{r_2-r_1}{\gcd},q=q\times \frac{r_2-r_1}{\gcd} 。 -
其通解:
P=p+\frac{m_2}{\gcd}\times k, Q=q-\frac{m_1}{\gcd}\times k 。 -
所以:
x=m_1 P + r_1 = \frac{m_1 m_2}{\gcd} \times k +m_1 p+r_1
离散与组合数学
组合数求解
1. 加法原理和乘法原理
-
加法原理:设集合
S 划分为部分S_1,S_2,\cdots,S_m ,则S 的元素个数可以通过每一部分的个数来确定,即|S|=|S_1|+|S_2|+\cdots+|S_m| 。 -
乘法原理:令
S 是元素的序偶(a,b) 的集合2. 排列
-
不可重复排列(从
n 个不同的物品中不重复的取出r 个),排列数为:P_n^r = n(n-1)(n-2)\cdots(n-r+1)=\frac{n!}{(n-r)!} -
可重复排列(从
n 个不同的物品中可重复的取出r 个),排列数为:n^r 。 -
圆排列(从
n 个元素中选r 个圆排列),排列数为:\Large \frac{P^r_n}{r}=\frac{n!}{r(n-r)!}
3. 组合
- 如果
S 中的元素都不相同,组合数:
4. 组合数的性质
5. 多重集合的排列和组合
- 有限多重集的组合
-
6. 杨辉三角计算公式
-
组合公式
C_n^r=\begin{pmatrix}n\\r\end{pmatrix} = \frac{n!}{r!\cdot (n-r)!} ,把C_n^r 称为二项式系数。杨辉三角是二项式系数的典型应用。 -
杨辉三角可以用
(x+1)^n 来定义和计算。
7. 二项式定理
- 组合公式
C^r_n =\begin{pmatrix}n\\r\end{pmatrix} = \frac{n!}{r!\cdot (n-r)!} ,就是(x+1)^n 展开后第r 项的系数。(x+1)^n=\sum_{r=0}^{n} C^r_n x^r - 推导得到二项式定理:
(a+b)^n = \sum_{r=0}^{n} C_n^r a^r b^{n-r} = \sum_{r=0}^{n} C_n^r b^r a^{n-r} - 二项式系数的两种计算方法:
- 递推公式:
C_n^r = C_{n-1}^r + C_{n-1}^{r-1} ; - 用逆直接计算:
C_n^r \mod m = \frac{n!}{r! (n-r)!} \mod m = (n! \mod m)[(r!)^{-1} \mod m]\{[(n-r)!]^{-1} \mod m\} \mod m
- 递推公式:
8. 卢卡斯定理
- 对于非负整数
n 、r 和素数m ,有:C_n^r \equiv \prod_{i=0}^{k} C_{n_i}^{r_i} (\text{mod}\space m) C_n^r \mod m = C_{n\mod m}^{r\mod m} \times C^{\frac{r}{m}}_{\frac{n}{m}} \mod m
9. 鸽巢原理
- 推广:
k\times n+1 只鸽子住n 个巢里,那么至少有一个巢里有k+1 只或更多鸽子。
容斥原理和卡特兰数
1. 容斥原理
-
设
A 、B 是分别具有性质P_1 和P_2 的有限集,则有:|A\cup B| =|A|+|B|-|A\cap B| 。 -
【集合的并等于集合的交的交错和】设
U 中元素有n 种不同的属性,那么第i 种属性称为P_i ,拥有属性P_i 的元素构成集合S_i ,那么:\Bigg| \bigcup_{i=1}^{n} S_i \Bigg| = \sum_{m-1}^{n} (-1)^{m-1} \sum_{a_i<a_{i+1}} \Bigg| \bigcap_{i=1}^{m} S_{a_i} \Bigg| -
【集合的交等于全集减去补集的并】设
U 中元素有n 种不同的属性,那么第i 种属性称为P_i ,拥有属性P_i 的元素构成集合S_i ,那么:\Bigg| \bigcap_{i=1}^{n} S_i\Bigg| = |U| - \Bigg| \bigcup_{i=1}^{n} \overline{S_i}\Bigg|
2. Catalan 数
- Catalan 数是一个数列,它的一种定义是:
C_n = \frac{1}{n+1} \begin{pmatrix} 2n \\ n \end{pmatrix} , \space n=0,1,2,\cdots -
通项公式:
-