组合数学知识要点

导数与积分

%%YCB%%

排列与组合

加法法则与乘法法则

基础思想:分类计数使用加法,分步计数使用乘法

Cayley定理

\(n\)个有标号顶点的树的个数为\(n^{n-2}\)

证明:定义一个消去序列,序列与树一一对应(略)。

排列与组合

\(n\)\(r\)排列:\(\frac{n!}{(n-r)!}\)

\(n\)\(r\)组合:组合数(naive)

\(n\)\(r\)可重排列:\(n^r\)(naive)

\(n\)\(r\)可重组合:\(\binom{n+r-1}{r}\)

多重集\(S=\{(a_1,k_1),(a_2,k_2),...,(a_n,k_n)\}\)

多重集的全排列:\(\frac{n!}{k_1!k_2!...k_n!}\)

多重集的\(r\)组合:\(\binom{n+r-1}{r}(\forall k\ge r)\)

隔板法、放缩法是解释组合意义的利器

组合问题与二项式系数、格路问题的联系

不经过对角线的格路问题方案数求解

Wallis公式与Stirling公式

Stirling公式:\(n!\backsim \sqrt{2n\pi}(\frac n e)^n\)

貌似OI不怎么用得上?

递推关系与母函数

母函数

对一个数列\(a_0,a_1,a_2...\)构造函数

\[G(x)=a_0+a_1x+a_2x^2+... \]

称为母函数,其长度可以是无穷大。

母函数的表示及求解

大部分无穷大的母函数可以写成若干个无穷等比数列的和

无穷等比数列求和公式:\(S=\frac{a_1}{1-q}\)(不失一般性地设\(0<q<1\),由有穷等比数列求和\(S_n=\frac{a_1(1-q^n)}{1-q}\)\(q^n\)看作无穷小可以推导出)

求解的一般步骤

一、写出递推式(形如\(a_i=f(a_{i-1})\),记为递推式的第\(i\)项)

二、递推式的第\(i\)项两边乘上\(x^i\),最后所有等式左右两边分别求和,形如

\[a_1x+a_2x^2+a_3x^3+...=f(a_0)x+f(a_1)x^2+f(a_2)x^3+... \]

三、通过移项、无穷等比数列求和、因式分解等变换,把上面的大等式大概写成这样(分子是任意一个多项式\(P(x)\),不用在意)

\[G(x)=\frac{P(x)}{(1-q_1x)(1-q_2x)...} \]

四、上式可以裂项成若干等比数列的和

\[G(x)=\frac{A_1}{(1-q_1x)}+\frac{A_2}{(1-q_2x)}+... \]

待定系数法,将上式通分以后,根据合并后的分子与上面的\(P(x)\)对应项的系数相等,联立方程组解出\(A_1,A_2,...\)

母函数的应用

写出数列的母函数后,我们可以写出数列的通项公式,进而快速求出数列指定项\(a_n\)的值。

既然我们可以把大部分母函数写成等比数列和的形式,那么我们就对于每一个等比数列,算出它的\(x^n\)的系数,最后相加即可得到\(a_n\)

优选法

就是三分求单峰函数的极值,只不过在区间的\(0.382\)\(0.618\)等分点求值,这样有一个值在下一次的时候还能用上。

利用Fibonacci数列后一项比上前一项接近\(0.618\)的性质,可以使优选法取到整点。

线性常系数齐次递推关系

对于数列\(\{a_n\}\)有递推式

\(a_n+c_1a_{n-1}+c_2a_{n-2}+...+c_ka_{n-k}=0(a_0=d_0,a_1=d_1,...a_{k-1}=d_{k-1})\)

\(\forall c,d\)都是常数,则称上式为\(k\)阶线性常系数齐次递推关系

\(C(x)=x^k+c_1x^{k-1}+c_2x^{k-2}+...+c_{k-1}x+c_k\)称为特征多项式。

求解

经过复杂的变换,数列的母函数一定可以写成

\[G(x)=\frac{P(x)}{1+c_1x+c_2x^2+...+c_kx^k} \]

其中\(P(x)\)为一个极其复杂的最高次项不超过\(k-1\)的多项式。

分母显然等价于\(x^kC(\frac 1 x)\),于是考虑解方程

\[C(x)=(x-α_1)^{k_1}(x-α_2)^{k_2}...(x-α_t)^{k_t} \]

\(α_1,α_2,...α_t\)\(C(x)\)在复数域内的\(t\)个根,称为特征根。显然可能有重根,\(k_i\)即为\(α_i\)的重复次数,于是有\(\sum\limits_{i=1}^t k_i=k\)

于是将\(k\)\(x\)乘进分母中得出

\[G(x)=\frac{P(x)}{(1-α_1x)^{k_1}(1-α_2x)^{k_2}...(1-α_tx)^{k_t}} \]

开始求\(x^n\)系数\(a_n\)三种情况只好死记硬背

单根

设有若干单根\(α_1,α_2,...α_k\)

直接待定系数\(A_1α_1^n+A_2α_2^n+...+A_kα_k^n\)

复根

如果出现复根,肯定是一对一对的共轭复根\(ρ(\cosθ\pm i\sinθ)\)

待定系数\(Aρ^n\cos nθ+Bρ^n\sin nθ\)

多重根

有一个\(k\)重根\(α\)

待定系数\((A_0+A_1n+A_2n^2+...+A_{k-1}n^{k-1})α^n\)

貌似也适用于单根\((k=1)\)


三种情况的待定系数式相加即为\(a_n\)的表达式

将初始值\(a_0=d_0,a_1=d_1,...a_{k-1}=d_{k-1}\)带入\(a_n\)的表达式中,得到一个\(k\)元方程组,求解即可。

系数都求出来了,\(a_n\)当然求出来啦!

整数的拆分

运用母函数解释

设有\(n\)个数的多重集\(\{(d_1,k_1),(d_2,k_2),...(d_n,k_n)\}\),每个数可以任意选,那么可以构造一母函数

\[G(x)=(1+x^{d_1}+x^{2d_1}+...+x^{k_1d_1})...(1+x^{d_n}+x^{2d_n}+...+x^{k_nd_n}) \]

展开可得

\[G(x)=1+a_1x+a_2x^2+a_3x^3+...+a_{(\sum kd)-1}x^{(\sum kd)-1}+x^{\sum kd} \]

其中\(x^i\)项系数\(a_i\)为将\(i\)拆成若干数的和的方案数。

上面讨论的是可以任意选的情况。根据题目对选择数的限制,可以对母函数进行修改,\(x^{Ad_i}\)不存在即表示数\(d_i\)不能选\(A\)个。

Ferrers图像

懒得解释图像,百度百科

利用图像可以得到的重要性质:整数\(n\)拆分成最多不超过\(m\)个数的和的拆分数,和\(n\)拆分成最大不超过\(m\)的拆分数相等。

指数型母函数

对一个数列\(a_0,a_1,a_2...\)构造函数

\[G_e(x)=a_0+\frac{a_1}{1!}x+\frac{a_2}{2!}x^2+... \]

称为指数型母函数。

这个名字是怎么来的呢?

\(e^x\)的麦克劳林级数\(1+x+\frac{x^2}{2!}+\frac{x^3}{3!}+...\),跟指数型母函数的定义式很像

反过来说,序列\(\{1,1,1,...\}\)的指数型母函数显然为\(e^x\)

如果需要进行组合意义的计数,常使用指数型母函数。

常用变换

\[e^{kx}\Leftrightarrow1+kx+\frac{k^2}{2!}x^2+\frac{k^3}{3!}x^3+... \]

\[e^{-x}\Leftrightarrow1-x+\frac{k^2}{2!}x^2-\frac{k^3}{3!}x^3+... \]

\[\frac{e^x+e^{-x}}2\Leftrightarrow1+\frac{k^2}{2!}x^2+\frac{k^4}{4!}x^4+\frac{k^6}{6!}x^6... \]

第一类Stirling数

%%litble%%

定义为\(n\)个有区别的球划分成\(m\)个环的方案数。用\(s(n,m)\)表示。

\[s(n,m)=(n-1)s(n-1,m)+s(n-1,m-1) \]

\[s(n,m)=[x^m](\prod\limits_{i=0}^{n-1}(i+x)) \]

第二类Stirling数

%%GZY%%

定义为\(n\)个有区别的球放进\(m\)个相同的盒子中,盒子不允许为空。另一种通俗的称呼是集合划分数。用\(S(n,m)\)表示。

\[S(n,m)=mS(n-1,m)+S(n-1,m-1) \]

\[S(n,m)=\frac{1}{m!}\sum\limits_{k=0}^{m-1}(-1)^k\binom{m}{k}(m-k)^n \]

Catalan数

定义为通过\(n-2\)条对角线把一个凸\(n\)边形分割的方案数。

\[C_{n+1}=\frac 1 n\binom{2n-2}{n-1} \]

\[C_n=\frac{(2n)!}{n!(n+1)!} \]

容斥原理与鸽巢原理

德摩根定理

符号约定:记\(\overline A\)\(A\)的补集,\(|A|\)\(A\)的元素个数。

\(\overline{A\cup B}=\overline A\cap\overline B,\overline{A\cap B}=\overline A\cup\overline B\)(naive)

容斥原理

先来直观的

\(|A\cup B|=|A|+|B|-|A\cap B|\)

\(|A\cup B\cup C|=|A|+|B|+|C|-|A\cap B|-|A\cap C|-|B\cap C|+|A\cap B\cap C|\)

推广到求\(|A_1\cup A_2\cup ...\cup A_n|\)\(|\bigcup\limits_{i=1}^nA_i|\)

设一个集合的集合\(S=\{A_1,A_2,...,A_n\}\)

那么枚举\(S\)的子集求并,如果这个子集大小为奇,那么容斥系数为\(1\),否则为\(-1\),总的式子长这样

\[|\bigcup\limits_{i=1}^nA_i|=\sum\limits_{i=1}^{n}|A_i|-\sum\limits_{i\neq j}|A_i\cap A_j|+\sum\limits_{i\neq j\neq k,i\neq k}|A_i\cap A_j\cap A_k|-... \]

类似地,还可以反过来求\(|\overline{A_1}\cap \overline{A_2}\cap ...\cap\overline{ A_n}|\)\(|\bigcap\limits_{i=1}^n\overline{A_i}|\)

\[|\bigcap\limits_{i=1}^n\overline{A_i}|=|S|-\sum\limits_{i=1}^{n}|\overline{A_i}|+\sum\limits_{i\neq j}|\overline{A_i}\cup\overline{A_j}|-\sum\limits_{i\neq j\neq k,i\neq k}|\overline{A_i}\cup\overline{A_j}\cup\overline{A_k}|+... \]

莫比乌斯反演

定义一个容斥系数\(\mu(d)\)

\[\mu(d)=\begin{cases}\quad1\quad,d=1\\(-1)^k,d=p_1p_2...p_k(p是互不相同的质数)\\\quad0\quad,otherwise\end{cases} \]

\(f(n),g(n)\)是定义在正整数上的个函数,满足

\[f(n)=\sum\limits_{d|n}g(d) \]

\[g(n)=\sum\limits_{d|n}\mu(d)f(\frac n d) \]

鸽巢原理/抽屉原理

\(n\)个抽屉里有\(n+1\)个苹果,则至少有一个抽屉里有两个苹果(naive)

群论

跳过群的基本概念吧,反正计数又用不着。

置换群

所有的有限群都可以用置换群表示。

置换的定义:一个\(n\)元置换是一个排列二元组,一般写成

\[p=\begin{pmatrix}1&2&3&...&n\\a_1&a_2&a_3&...&a_n\end{pmatrix} \]

表示把序列中的\(i\)号元素替换为\(a_i\)号元素。

第一行不一定要写成\(1-n\),将列任意交换得到的仍是原来的置换。

Burnside引理

\(L=\frac{1}{|G|}\sum\limits_{p\in G}不动点个数(p)\)

Pólya定理

定义\(k\)阶循环为一个序列\((b_1,b_2,...b_k)\),满足在置换中\(a_{b_1}=b_2,a_{b_2}=b_3,...a_{b_k}=a_1\)

于是一个置换可以写成若干个循环的组合,比如

\[p=\begin{pmatrix}1&2&3&4&5\\2&4&5&1&3\end{pmatrix} \]

可以写成两个循环\((1,2,4)(3,5)\)的形式。

如果\((b_1,b_2,...b_{k-1},b_k)\)\((b_2,b_3,...b_k,b_1)\)视为等价的话,那么可以说每一个置换都有唯一的一个循环表示。

\(c_p\)为置换\(p\)循环表示下循环的总数。在置换群\(G\)的意义下用\(m\)种颜色染物品,其方案数为\(\frac{1}{|G|}\sum\limits_{p\in G}m^{c_p}\)

posted @ 2018-08-31 21:38  Flash_Hu  阅读(1708)  评论(1编辑  收藏  举报