计数问题 Ⅰ
一.排列与组合
1.1 四个基本计数原理
划分:集合S的一个划分是它的子集$ S_1,S_2,S_3…S_m $ 使每个元素恰好只属于其中的一个子集。
加法原理:$ |S| = |S_1| + |S_2| + |S_3| +...+|S_m| $
乘法原理 :设$ S是有序对 (a,b) 的集合,对象a来自大小为p的集合,对象b来自大小为q的集合,则 |S|=p*q $
减法原理:设$ A\subseteq U $,且 Aˉ=∁UA ,那么$ |A|=|U|-|\bar{A|}$
除法原理: $ k=\frac{|S|}{m} $,其中m为在一个部分中的对象数目。
1.2 集合的排列
排列:一个n元素集合S的r排列,我们理解为n个元素中的r个元素的有序放置
用P(n,r)表示n元素集合的r排列数目,我们有:
P(n,r)=(n−r)!n!
特殊的 P(n,0)=1
n元素集合的循环r排列数目:
rP(n,r)=r⋅(n−r)!n!
1.3 集合的组合
组合(子集):集合S元素的一个无序选择A。A⊆S
用(rn)表示n元素集合的r子集的数目。我们有
(rn)=r!(n−r)!n!=(n−rn)
帕斯卡公式:对于所有满足1≤k≤n−1 的整数n和k,有
(kn)=(kn−1)+(k−1n−1)
吸收恒等式:
(mn)=m!(n−m)!n!=mn×(m−1)(m−2)⋯1(n−1)(n−2)⋯(n−m+1)(mn)=mn(m−1n−1)
归纳恒等式
(mn)=(mn−1)+(m−1n−1)
证明:从前n-1个物品中选择m个或m-1个两种情况,即最后一个物品选或不选。
特:Lucas定理:
若p为质数,有
(mn)≡(mmodpnmodp)∗(m/pn/p)
1.4 杨辉三角及二项式定理
第0列
杨辉三角 1 第1列 第0行
1 1 第2列 第1行
1 2 1 第3列 第2行
1 3 3 1 第3行
$ \cdots$
注意到,第n行第k列的数为(kn) 。
第n行的和为2n
(x+1)n=i=0∑nxi(in)
简单证明:
(x+1)n=(x−1)×(x−1)n−1
考虑其组合意义,(x+1)n 的第k项就是用x乘上(x−1)n−1的第k-1项加上1乘上(x−1)n−1 的第k-1项。那么就有
[xk](x+1)n=[xk−1](x−1)n−1+[xk](x−1)n
即[xk](x−1)n=(kn)
二项式定理
由上式,我们有:
(x+1)n=i=0∑nxi(in)
取x=ba,有:
(ba+1)n=i=0∑n(in)aib−i
两边同乘bn,得:
(a+b)n=i=0∑n(in)aibn−i
二.容斥原理和集合反演
2.1 容斥原理
∣A∪B∪C∣=∣A∣+∣B∣+∣C∣−∣A∩B∣−∣B∩C∣−∣C∩A∣+∣A∩B∩C∣
这是最基础的集合容斥。
容斥定理
对于多个集合,我们有:
∣i=1⋃nAi∣=T⊆[1,n]∑(−1)∣T∣−1∣j∈T⋂Sj∣
集合反演
对于函数f(S),g(S),有
f(S)=T⊆S∑g(T)⇔g(S)=T⊆S∑(−1)∣S∣−∣T∣f(T)
证明,先咕着。
三.特殊方法
插板法,必须相邻,互不相邻
隔板法:n个物品分k堆,不可空,有(kn)种分法。
插板法的应用:求方程
x1+x2+x3+⋯+xk=n
的解的个数,且要求xi>di