常用数学知识及相关推导

数论

费马小定理:

\(p\)为素数且\(gcd(a,p)=1\),则\(a^{p-1}\equiv1\pmod{p}\)
另一种形式:\(a^{p-2}\equiv{a}^{-1}\pmod{p}\)(即\(a^{p-2}\)\(a\)在模\(p\)意义下的逆元)

这是欧拉定理的特殊情况,在此不作证明了。

欧拉定理:

\(gcd(a,m)=1\)时,\(a^{\varphi(m)}\equiv1\pmod{m}\)。变式:\(a^c\equiv{a^{c\mod\varphi(m)}\pmod{m}}\)

证明如下:

\(m\)以内与其互质的数分别为\(x_1,x_2,...,x_{\varphi(m)}\),令\(p_i=ax_i\)

引理1:\(p_i\)之间两两模\(m\)不同余,\(x_i\)之间两两模\(m\)不同余。

证明:反证法。若\(\exists{p_i},p_j(i\ne{j})\),使得\(p_i\equiv{p_j}\pmod{m}\),即\(a(x_i-x_j)\equiv0\pmod{m}\)

\(gcd(a,m)=1\),且\(x_i-x_j\in(0,m)\),显然不成立。证毕。

引理2:每个\(p\)\(m\)的结果都与\(m\)互质。

证明:依然反证法。设\(p_i=k*m+r,gcd(r,m)>1\)

\(gcd(r,m)|{p_i}\),即\(gcd(m,p_i)>1\)。显然不成立。证毕。

综上所述,设集合\(A=\{x_i \% m\}\)\(B=\{p_i \% m\}\),则\(A=B\)。(对于每个\(p_i\),能且只能找到一个\(x_i\),使得\(p_i\equiv{x_i}\pmod{m}\))。

全部乘起来,可以得到\(a^{\varphi(m)}\prod\limits_{i=1}^nx_i\equiv\prod\limits_{i=1}^nx_i\pmod{m}\)。即\(a^{\varphi(m)}\equiv1\pmod{m}\)。证毕。

扩展欧拉定理:

\(a^c=\begin{cases}a^{c\mod\varphi(m)}\pmod{m}, \qquad\ (gcd(a,m)=1)\\a^c,\qquad\qquad\qquad\qquad\qquad\quad(gcd(a,m)>1,c<\varphi(m))\\a^{(c\mod\varphi(m))+\varphi(m)},\qquad\qquad(gcd(a,m)>1,c\ge\varphi(m))\end{cases}\)

证明如下:

先证\(\forall{p}\in{P}\)\(p^k\equiv{p^{k\mod\varphi(m)+\varphi(m)}}\pmod{m}(k\ge\varphi(m))\)

\(m=s*p^r(gcd(p,s)=1)\),则\(\varphi(m)=\varphi(s*p^r)=\varphi(s)*\varphi(p^r)\)(积性函数的性质)。所以\(\varphi(s)|\varphi(m)\)

\(p^{\varphi(s)}\equiv1\pmod{s}\),则\(p^{\varphi(m)}\equiv1\pmod{s}\),则\(p^{\varphi(m)+r}\equiv{p^r}\pmod{m}\)。(这里用到一个同余的小性质。若\(a\equiv{b}\pmod{c}\),则\(\lambda*a\equiv{\lambda*b}\pmod{\lambda*c}\))。

因为\(\varphi(m)=\varphi(s)*\varphi(p^r)=\varphi(s)*(p-1)*p^{r-1}\),所以\(r\le\varphi{(m)}\)。又\(k\ge\varphi(m)\),所以可以构造出\(r\)满足\(p^k=p^{k-r+r}\equiv{p^{k+\varphi(m)}}\pmod{m},k\ge{r}\)

归纳可知,\(p^k\equiv{p^{k+t\varphi(m)}},t\in{Z}\),且指数要为正。故最小的合法指数为\(k\mod\varphi(m)+\varphi(m)\)。于是可知\(p^k\equiv{p^{k\mod\varphi(m)+\varphi(m)}}\pmod{m}(k\ge\varphi(m))\)

再对\(a\)进行分类讨论:

\(a=p^k\)时,\(a^c\equiv{p}^{kc}\equiv{p}^{kc+\varphi(m)}\equiv{p}^{kc+k\varphi(m)}\equiv{(p^k)^{c+\varphi(m)}}\equiv{(p^k)^{c\mod{m}+\varphi(m)}}\),成立。

\(a=\prod{p_i^{k_i}}\)时,依据唯一分解定理做数学归纳,即可证正确性。证毕。

线性求逆元:

设模数为\(p\)\(p=ax+b\)。那么

\[ax+b\equiv0\pmod{p} \]

两边同时乘上\(x^{-1}b^{-1}\),得

\[a*b^{-1}+x^{-1}\equiv0\pmod{p} \]

\[x^{-1}\equiv-[\frac{p}{x}]*(p\mod{x})^{-1}\pmod{p} \]

就可以线性求出了。

code:

inv[i] = (p - (p / i)) * inv[p % i] % p (inv[1] = 1)

组合数学:

第一类斯特林数:

\(\begin{bmatrix}n\\k\end{bmatrix}\)表示将\(n\)个数划分为\(k\)个圆排列的方案数。那么

\[\begin{bmatrix}n\\ k\end{bmatrix}=(n-1)\begin{bmatrix}n-1\\ k\end{bmatrix}+\begin{bmatrix}n-1\\ k-1\end{bmatrix} \]

第二类斯特林数:

\(\begin{Bmatrix}n\\k\end{Bmatrix}\)表示\(n\)个有标号球,放到\(k\)个无标号的盒子里的方案数。那么

\[\begin{Bmatrix}n\\k\end{Bmatrix}=k\begin{Bmatrix}{n-1}\\k\end{Bmatrix}+\begin{Bmatrix}{n-1}\\{k-1}\end{Bmatrix} \]

(因为球有编号,所以我们考虑最后一个球放在哪里。第\(n\)个球可以新开一个盒子,或者放在原来的\(k\)个盒子里)

性质:\(x^n=\sum\limits_{i=0}^{n}\begin{Bmatrix}{n}\\{i}\end{Bmatrix}x^{\underline{i}}\)

排列计数:

对于一个相对顺序确定的长度为\(x\)的序列和一个相对顺序确定的长度为\(y\)的序列,它们合并的方案数为\(\dbinom{x+y}{y}\)

下降幂

\(\dbinom{n}{i}i^{\underline{j}}=\dbinom{n-j}{i-j}n^{\underline{j}}\) (直接拆开算即可)

数论(积性)函数

一些公式

\[n=\sum\limits_{k|n}\varphi(k) \]

posted @ 2020-10-16 22:16  andysj  阅读(273)  评论(0编辑  收藏  举报