组合数学

第二章 排列组合

1、四个基本技术原理

加法原理:把集合S划分成少量互不相交易处理的部分。
当允许 s 1 , s 2 , s 3 s_1,s_2,s_3 s1,s2,s3 相交时,就可以使用容斥原理计数
乘法原理:令S为有序对(a,b)的集合,a来自大小为p的集合,b来自大小为q的集合,加法原理的推论

两种思路思考问题:其实一种用加法原理,一种用减法原理
P17最后一题

减法原理:从全集U中减去A的补集。先不考虑限制计算全集,然后在把限制的删去

除法原理:知道S中对象的数目,以及各部分所含对象数目的共同值,就可以确定部分的数目

例1:在1000和9999之间有多少个不相同的奇数。
先考虑个位,共有1、3、5、7、9,一共5中可能,再考虑千位,共有8中选择,再考虑百位和十位有8种和7种可能。即 5 × 8 × 8 × 7 = 2240 5\times 8\times 8\times 7=2240 5×8×8×7=2240
经验法则:优先选择约束性最强的选择

例2:在0和10000之间有多少个整数恰好有一个数字是5?
解法一:对S做划分,S_1表示S中一位数的集合,S_2表示S中两位数的集合,依次类推
解法二:添加前道零,6看做0006,这样就可以把S中的每一个数都看作是4位数,根据5的位置划分为 S 1 ′ , S 2 ′ , S 3 ′ , S 4 ′ S_1',S_2',S_3',S_4' S1,S2,S3,S4,共有 9 × 9 × 9 = 729 9\times 9\times 9=729 9×9×9=729个数,答案为 4 × 9 × 9 × 9 = 2916 4\times 9\times 9\times 9=2916 4×9×9×9=2916

2、集合的排列

定理1:P(n,r)表示 n 元素集合的 r 排列的数目
例一:数字1、1、1、3、8,能做成多少个不同的5位数
解一:3有5种放法,8有4种放法,其余位置都放 1 1 1,共有 5 × 4 = 20 5\times 4=20 5×4=20
解二:全排列后消序: p 5 5 p 3 3 \frac {p_5^5}{p_3^3} p33p55

例2:将字母表的26个字母排序,使得元音字母a,e,i,o,u中任意两个字母都不连续出现的方法总数
思路:先放21个辅音字母21!,然后在22个空中放5个元音字母,答案为: 21 ! × P 22 5 21!\times P_{22}^5 21!×P225

例3:取自 { 1 , 2 , 3 , 4 , … , 9 } \{1,2,3,4,\dots,9\} {1,2,3,4,,9} 的所有7位数中有多少位各位不相同,且数字5和6不连续出现的7位数?
解法一:加法原理:分成4类
(1)7位数字不出现5和6,7!
(2)7位数字中出现5不出现6,5有7种摆法,其余7个数字有 P 7 6 P_7^6 P76种摆法
(3)7位数字中出现6不出现5,同上
(4)7位数字中5和6同时出现,分为5在第一位出现,5在最后一位出现,5在中间出现。先决策6,共有 5 × p 7 5 × 2 + 5 × 4 × P 7 5 5\times p_7^5 \times 2+5\times 4\times P_7^5 5×p75×2+5×4×P75
解法二:减法原理:先计算全部的7位数,然后把5、6两个数连续的个数删去。捆绑5和6为一个元素排序,答案为 P 9 7 − P 2 2 × 6 × P 7 5 = 151200 P_9^7-P_2^2\times 6\times P_7^5=151200 P97P22×6×P75=151200

定理2:圆排列,n元素的循环 r 排列的数目是 P n r r = n ! r ( n − r ) ! \frac {P_n^r}{r}=\frac{n!}{r (n-r)!} rPnr=r(nr)!n!,其实就是n元素的r排列,然后取消 r 的重复数
证明:对n元素的线性r排列划分成若干个部分,使每两个线性r排列对应于同一个循环r排列当且仅当这两个线性r排列在同一个部分中,此时循环r排列的数目等于划分的数目。每个部分有r个线性r排列,因此每个部分就是 P n r r \frac {P_n^r}{r} rPnr

除法原理的应用要求:每一个部分都含有相同r排列。

另一个计数循环r排列的方法

  • 因为是循环的所以可以把其中一个点固定,就留下了剩余元素的全排列的方法数

例1:5个人围坐在9个位置的圆桌上的排列数
解法1:公式法: P 9 5 5 \frac {P_9^5}{5} 5P95
解法2:固定桌头的方法:先选择 r 个位置,然后固定一个点,剩余点的排列 C 9 5 × 4 ! C_9^5\times 4! C95×4!

例2:10个人围坐在圆桌上,其中两个人不能坐在一个的方案数。
解法1:减法原理。10个人的方案有9!,减去不合法的就是将这两个人捆绑在一起,和剩余的8个人一起计数 P 2 2 × P 9 9 9 P_2^2\times \frac {P_9^9}{9} P22×9P99,答案就是 7 × 8 ! 7\times 8! 7×8!
解法2:将P_1固定在桌头,

3、集合的组合(子集)

集合的组合就是集合的一个无序选择,也是子集
( r n ) (_r^n) (rn)表示 n 元素集合的 r 子集数目
C n r = 0 ,   ( r > n ) ,   C 0 r = 0   ( r > 0 ) , C 0 0 = 1 C_n^r=0, \ (r>n), \ C_0^r=0 \ (r>0),C_0^0=1 Cnr=0, (r>n), C0r=0 (r>0),C00=1
C n 0 = 1 ,   C n 1 = n ,   C n n = 1 C_n^0=1, \ C_n^1=n, \ C_n^n=1 Cn0=1, Cn1=n, Cnn=1
C n r × r ! = P n r C_n^r\times r!=P_n^r Cnr×r!=Pnr
C n r = P n r r ! = n ! r ! × ( n − r ) ! C_n^r=\frac {P_n^r}{r!}=\frac {n!}{r!\times (n-r)!} Cnr=r!Pnr=r!×(nr)!n!
C n r = C n n − r C_n^r=C_n^{n-r} Cnr=Cnnr
帕斯卡公式(杨辉三角) C n r = C n − 1 r − 1 + C n − 1 r C_n^r=C_{n-1}^{r-1}+C_{n-1}^{r} Cnr=Cn1r1+Cn1r

定理:对于 n ≥ 0 n\ge 0 n0有: C n 0 + C n 1 + C n 2 + C n 3 + … C n n = 2 n C_n^0+C_n^1+C_n^2+C_n^3+\dots C_n^n=2^n Cn0+Cn1+Cn2+Cn3+Cnn=2n
证明:利用双计数,等式左边刚好等于n元素集合中元素取 0 , 1 , 2 , … n 0,1,2,\dots n 0,12n等式右边就等相当于对于一个集合中的元素取或者不取的结果,也就是 2 n 2^n 2n
双计数举例:第一个计数,n元素集合2子集个数是 C n 2 C_n^2 Cn2,第二个计数,对于每一个 i = 1 , 2 , … , n i=1,2,\dots,n i=1,2,n ,以 i 为最大数的2子集的数量是i-1,累加即 0 + 1 + 2 + 3 + ⋯ + n − 1 = C n 2 0+1+2+3+\dots+n-1=C_n^2 0+1+2+3++n1=Cn2

例1:如果每个词包含3、4、5个元音,那么字母表中的26个字母可以构造多少个8字母词?
加法原理
考虑3个元音的词,先选择3个位置,再放元音,在其余位置放辅音: C 8 3 × 5 3 × 2 1 5 C_8^3\times 5^3\times 21^5 C83×53×215
4个元音的词: C 8 4 × 5 4 × 2 1 4 C_8^4\times 5^4\times 21^4 C84×54×214
5个元音的词: C 8 5 × 5 5 × 2 1 3 C_8^5\times 5^5\times 21^3 C85×55×213

4、多重集合的排列

n元素集合S的n排列也称为S的排列
定理1:设有k种不同类型对象的多重集合S,每一个元素都有无限个重复数,那么S的 r 排列数目是 k r k^r kr。证明: r 个位置每个位置都有 k 种方式排列
例1::最多有4位的三元数的个数是多少
3 4 = 81 3^4=81 34=81,每一位都有0,1,2三种可能
定理2:设有k种不同类型的对象的多重集合S,每一种类型的有限重复数是 n 1 , n 2 , n 3 , n 4 , … , n k n_1,n_2,n_3,n_4,\dots,n_k n1,n2,n3,n4,,nk。设S的大小为 n = n 1 + n 2 + ⋯ + n k n=n_1+n_2+\dots+n_k n=n1+n2++nk,那么S的 n 排列数为: n ! n 1 ! n 2 ! … n k ! \frac {n!}{n_1!n_2!\dots n_k!} n1!n2!nk!n!

这里只有多重集合S的 n 排列数的公式,并没有多重集合S的 r 排列数的简单公式,可以用生成函数求解

证明:就是按正常思路来,假设有n个位置,首先放置第一个类型 a 1 a_1 a1 n 1 n_1 n1个元素,然后放置第二个类型 a 2 a_2 a2 n 2 n_2 n2个元素,依次类推,即
C n n 1 × C n − n 1 n 2 × C n − n 1 − n 2 n 3 ⋯ × C n − n 1 − n 2 − ⋯ − n k − 1 n k C_n^{n_1} \times C_{n-n_1}^{n_2}\times C_{n-n_1-n_2}^{n_3}\dots \times C_{n-n_1-n_2-\dots -n_{k-1}}^{n_k} Cnn1×Cnn1n2×Cnn1n2n3×Cnn1n2nk1nk

对上式化简即可得: n ! n 1 ! n 2 ! … n k ! \frac {n!}{n_1!n_2!\dots n_k!} n1!n2!nk!n!

我们可以把 C n n 1 C_n^{n_1} Cnn1看做是 n n n元素集合的 n 1 n_1 n1子集数,也可以看做是有两种类型的对象且重复数分别为 n 1 n_1 n1 n − n 1 n-n_1 nn1的多重集合的排列数

对公式 n ! n 1 ! n 2 ! … n k ! \frac {n!}{n_1!n_2!\dots n_k!} n1!n2!nk!n!的另一种理解方式
定理3:把一个集合S中的n个对象分成指定大小分别为 n 1 , n 2 , n 3 … , n k n_1,n_2,n_3\dots,n_k n1,n2,n3,nk的k个标签的盒子,这样划分方法数为 n ! n 1 ! n 2 ! … n k ! \frac {n!}{n_1!n_2!\dots n_k!} n1!n2!nk!n!,如果盒子没有标签,且 n 1 = n 2 = ⋯ = n k n_1=n_2=\dots=n_k n1=n2==nk,那么划分数为 n ! k ! n 1 ! n 2 ! … n k ! \frac {n!}{k!n_1!n_2!\dots n_k!} k!n1!n2!nk!n!
证明:就是先选取 n 1 n_1 n1个对象放入盒子1,再选n_2个对象放入盒子2,依次类推
如果没有标签,并且 n 1 = n 2 = n 3 = ⋯ = n k n_1=n_2=n_3=\dots=n_k n1=n2=n3==nk,那么就可运用除法原理,因为对于把这些对象分配到k个没有标签的盒子里的每一种方法,都有k!种方法给这些盒子标上标签 1 , 2 , … , k 1,2,\dots,k 1,2,,k ,因此划分的个数为 n ! k ! n 1 ! n 2 ! … n k ! \frac {n!}{k!n_1!n_2!\dots n_k!} k!n1!n2!nk!n!
更困难的是划分的部分没有指定的大小,8.2节中讨论

:有多少种方法在 8 × 8 8\times 8 8×8 棋盘上放置8个非攻击型车?
对每个车赋予坐标为 ( 1 , j 1 ) , ( 2 , j 2 ) , ( 3 , j 3 ) , … , ( 8 , j 8 ) (1,j_1),(2,j_2),(3,j_3),\dots,(8,j_8) (1,j1),(2,j2),(3,j3),,(8,j8) ,那么只有当 j 1 , j 2 , … , j 8 j_1,j_2,\dots,j_8 j1,j2,,j8为{1,2,3,4,5,6,7,8}的一个排列的时候,才是合法的
1、如果车没有区别那么,答案就是8!
2、如果说8个车有8种颜色,那么那么对于8个被占据的方格(8!)之后,还要讨论车的颜色,从第一维i观察,即观察第一行到最后一行我们看到8个颜色的一种排列,即8!,因此答案就是, 8 ! × 8 ! 8!\times 8! 8!×8!
3、如果说8个车,分别为1红,3蓝,4黄,那么第一维的排列数为 8 ! 1 ! 3 ! 4 ! \frac {8!}{1!3!4!} 1!3!4!8!,那么答案就是 8 ! × 8 ! 1 ! 3 ! 4 ! 8!\times \frac {8!}{1!3!4!} 8!×1!3!4!8!

定理:一般地,有 k 中颜色共 n 个车,第一种颜色有 n 1 n_1 n1个,第二种颜色有 n 2 n_2 n2个, … \dots ,把这些车放在棋盘上互不攻击的方案数为 n ! n ! n 1 ! n 2 … n k ! n!\frac{n!}{n_1!n_2\dots n_k!} n!n1!n2nk!n!

5、多重集合的组合

多重集合S的r组合是S中 r 个对象的无序选择,也是一个集合。通常用组合形容多重子集,用子集形容集合的子集
定理:设多重集合S有k种类型的对象,重复数无限,那么S的 r 组合数是 C r + k − 1 r C_{r+k-1}^{r} Cr+k1r另一种表述方式, k 个不同对象的 r 组合方式
k 种类型的最小重复数都大于 r 的时候,都是成立的

理解:其实就是我们要选取r个对象,我们不知道这r个对象具体在k个集合中取多少个,就相当于r个对象, 然后用k-1块隔板去分隔的数量,相当于r+k-1个对象,选取r个的组合数。也就相当于 x 1 + x 2 + x 3 + ⋯ + x k = r x_1+x_2+x_3+\dots+x_k=r x1+x2+x3++xk=r的解的个数

这里还有情况就是重复数不是无限的组合
设有k种不同类型的对象的多重集合S,每一种类型的有限重复数是 n 1 , n 2 , n 3 , n 4 , … , n k n_1,n_2,n_3,n_4,\dots,n_k n1,n2,n3,n4,,nk。该多重集合S的r组合计数与下述式子解相同 x 1 + x 2 + ⋯ + x k = r x_1+x_2+\dots +x_k=r x1+x2++xk=r

对于下界可以使用直接减去的办法,对于上界需要使用容斥原理解决

6、有限概率

实验的每个结果出现是等可能的,那么我们称它为随机实验,所有可能结果的集合称为这个实验的样本空间S

例1:设n是正整数。假设我们在1和n之间随机选出一个整数序列(可以重复取同一个数)。问这个序列刚好有n-1个不同整数的概率是多少?
解:设F是刚好有n-1个不同整数的事件,首先我们有1个数出现两次,n-2个数出现一次,有1个数一次也没有出现。先选取出现两次的数有n中取法,取没有出现的数有n-1种取法。然后排,出现两次的数是取两个位置 C n 2 C_n^2 Cn2,出现1次的数是 P n − 2 n − 2 P_{n-2}^{n-2} Pn2n2,即 n × ( n − 1 ) × C n 2 × ( n − 2 ) ! = ( n ! ) 2 2 ! ( n − 2 ) ! n\times (n-1)\times C_n^2\times (n-2)!=\frac{(n!)^2}{2!(n-2)!} n×(n1)×Cn2×(n2)!=2!(n2)!(n!)2

P ( F ) = ( n ! ) 2 2 ! ( n − 2 ) ! n n P(F)=\frac{(n!)^2}{2!(n-2)!n^n} P(F)=2!(n2)!nn(n!)2

第3章 鸽巢原理

鸽巢原理:简单形式
定理:如果把n+1个物体放进n个盒子里,那么至少有一个盒子包含至少两个的物体
应用1:13个人至少2人在同一月生日
应用2:n对夫妇,至少选择n+1个人可以保证选出一对夫妇
应用3:给定m个整数 a 1 , a 2 , a 3 , … , a m a_1,a_2,a_3,\dots,a_m a1,a2,a3,,am,存在 l,r满足 1 ≤ l < r ≤ m 1\le l < r \le m 1l<rm,使得 a l + a l + 1 + ⋯ + a r − 1 + a r a_l+a_{l+1}+\dots+a_{r-1}+a{r} al+al+1++ar1+ar被m整除
证明:作前缀和,m个前缀和取模,如果不整除那么余数不能为0,那么必定有两个余数是相同的,余数相同的这一段就是我们想取的
应用4:国际象棋大师有11周的时间备战一场比赛,他决定每天至少下一盘棋,一周不超过12盘其,请你证明存在连续若干天,大师刚好下了21盘棋
证明:前缀和a_n,是前n天下的总盘数
1 ≤ a 1 < a 2 < a 3 < ⋯ < a 77 < ≤ 12 × 11 = 132 1\le a_1 <a_2<a_3<\dots<a_{77} <\le 12 \times 11=132 1a1<a2<a3<<a77<12×11=132
同时构造
22 ≤ a 1 + 21 < a 2 + 21 < a 3 + 21 < ⋯ < a 77 + 21 ≤ 153 22\le a_1+21 <a_2+21<a_3+21<\dots<a_{77} +21\le 153 22a1+21<a2+21<a3+21<<a77+21153
这样就形成了154个数
a 1 , a 2 , a 3 , … , a 77 , a 1 + 21 , a 2 + 21 , a 3 + 21 , … , a 77 + 21 a_1 ,a_2,a_3,\dots,a_{77} ,a_1+21 ,a_2+21,a_3+21,\dots,a_{77} +21 a1a2a3a77a1+21a2+21a3+21a77+21
它们的大小不超过153,因此至少有两个数是相等的,即存在 a i = a j + 21 a_i=a_j+21 ai=aj+21

应用5:从整数 1 , 2 , … , 200 1,2,\dots,200 1,2,,200 中选出101个整数。证明:存在两个数,一个被另一个整除
证明:把任意整数化简为 2 k × a 2^k\times a 2k×a 的模式, k ≥ 0 k\ge 0 k0 且a为奇数,那么a可以取 1 , 3 , 5 , 7 , 9 , … , 199 1,3,5,7,9,\dots,199 1,3,5,7,9,,199,取两个数具有相同的a值时,即可整除

鸽巢原理:加强版
定理:如果 q 1 + q 2 + ⋯ + q n − n + 1 q_1+q_2+\dots+q_n-n+1 q1+q2++qnn+1 个物体中每一个物体被指定用n种颜色中的一种染色,那么存在某个i,使得第i种物体至少有 q i q_i qi

推论:如果把n(r-1)+1个物品放在n个盒子里,至少有一个盒子含有r个或更多的物体

平均原理1:如果n个非负整数的平均数大于r-1,那么至少有一个整数大于r
m 1 + m 2 + ⋯ + m n n > r − 1 \frac {m_1+m_2+\dots+m_n}{n}>r-1 nm1+m2++mn>r1

平均原理2:如果n个非负整数的平均数小于r+1,那么其中至少有一个整数小于r+1
m 1 + m 2 + ⋯ + m n n < r + 1 \frac {m_1+m_2+\dots+m_n}{n}<r+1 nm1+m2++mn<r+1

平均原理3:如果n个非负整数的平均数至少等于 r ,那么至少有一个满足 m i ≥ r m_i\ge r mir

应用:每个有 n 2 + 1 n^2+1 n2+1个实数构成的序列 a 1 , a 2 , … , a n 2 + 1 a_1,a_2,\dots,a_{n^2+1} a1a2,,an2+1或者含有长度为n+1的递增子序列,或者含有长度为n+1的递减子序列

第5章 二项式系数

1、帕斯卡三角形

C n r = 0 C_n^r=0 Cnr=0,(r>n)
C n 0 = 1 C_n^0=1 Cn0=1,n个里面取0个,得到空集
C n k = n ! k ! ( n − k ) ! = n × ( n − 1 ) × ⋯ × ( n − k + 1 ) k × ( k − 1 ) × ( k − 2 ) × ⋯ × 1 C_n^k=\frac {n!}{k!(n-k)!}=\frac {n\times (n-1)\times \dots \times (n-k+1)}{k\times (k-1)\times (k-2)\times \dots \times 1} Cnk=k!(nk)!n!=k×(k1)×(k2)××1n×(n1)××(nk+1)
C n k = C n n − k C_n^k=C_n^{n-k} Cnk=Cnnk
帕斯卡不等式 C n k = C n − 1 k − 1 + C n − 1 k C_n^k=C_{n-1}^{k-1}+C_{n-1}^{k} Cnk=Cn1k1+Cn1k

三角形数 C n 2 C_n^2 Cn2 表示由 C n 2 C_n^2 Cn2 个点可以组成三角形
四面体数 C n 3 C_n^3 Cn3表示由 C n 3 C_n^3 Cn3 个点可以组成四面体

帕斯卡三角形的解释:
C n k C_n^k Cnk表示从(0,0)点移动到(n,k)这点的路径数,每次只能往右或右下角走
C n k = C n − 1 k − 1 + C n − 1 k C_n^k=C_{n-1}^{k-1}+C_{n-1}^{k} Cnk=Cn1k1+Cn1k

2、二项式定理

1、 ( x + y ) n = C n 0 x n y 0 + C n 1 x n − 1 y 1 + ⋯ + C n n − 1 x 1 y n − 1 + C n n x 0 y n (x+y)^n=C_n^0x^ny^0+C_n^1x^{n-1}y^1+\dots +C_n^{n-1}x^{1}y^{n-1}+C_n^nx^0y^n (x+y)n=Cn0xny0+Cn1xn1y1++Cnn1x1yn1+Cnnx0yn
2、简写: ( x + y ) n = ∑ k = 0 n C n k x n − k y k (x+y)^n=\sum_{k=0}^nC_n^kx^{n-k}y^k (x+y)n=k=0nCnkxnkyk
3、某些等式: k C n k = n C n − 1 k − 1 kC_n^k=nC_{n-1}^{k-1} kCnk=nCn1k1
4、取x=1,y=1,可得 C n 0 + C n 1 + C n 2 + ⋯ + C n n = 2 n C_n^0+C_n^1+C_n^2+\dots +C_n^n=2^n Cn0+Cn1+Cn2++Cnn=2n
5、取x=1,y=-1,可得 C n 0 − C n 1 + C n 2 − C n 3 + ⋯ + ( − 1 ) n C n n = 0 C_n^0-C_n^1+C_n^2-C_n^3+\dots +(-1)^nC_n^n=0 Cn0Cn1+Cn2Cn3++(1)nCnn=0
移项得: C n 0 + C n 2 + ⋯ = C n 1 + C n 3 + … ( n ≥ 1 ) = 2 n − 1 C_n^0+C_n^2+\dots =C_n^1+C_n^3+\dots (n\ge 1)=2^{n-1} Cn0+Cn2+=Cn1+Cn3+(n1)=2n1
联立3和4可得:
1 C n 1 + 2 C n 2 + ⋯ + n C n n = n 2 n − 1 1C_n^1+2C_n^2+\dots+nC_n^n=n2^{n-1} 1Cn1+2Cn2++nCnn=n2n1

证明1: 1 C n 1 + 2 C n 2 + ⋯ + n C n n = n C n − 1 0 + n C n − 1 1 + … n C n − 1 n − 1 = n 2 n − 1 1C_n^1+2C_n^2+\dots+nC_n^n=nC_{n-1}^{0}+nC_{n-1}^1+\dots nC_{n-1}^{n-1}=n2^{n-1} 1Cn1+2Cn2++nCnn=nCn10+nCn11+nCn1n1=n2n1
证明2: ( 1 + x ) n = C n 0 + C n 1 x + C n 2 x 2 + ⋯ + C n n x n = ∑ k = 0 n C n k x k (1+x)^n=C_n^0+C_n^1x+C_n^2x^2+\dots+C_n^nx^n=\sum_{k=0}^nC_n^kx^k (1+x)n=Cn0+Cn1x+Cn2x2++Cnnxn=k=0nCnkxk
对两边分别求导可得: n ( 1 + x ) n − 1 = ∑ k = 1 n k C n k x k − 1 n(1+x)^{n-1}=\sum_{k=1}^nkC_n^kx^{k-1} n(1+x)n1=k=1nkCnkxk1
把x=-1,带入: n 2 n − 1 = ∑ k = 1 n C n k n2^{n-1}=\sum_{k=1}^nC_n^k n2n1=k=1nCnk

可以通过对x求导并乘以x的方式得到任意正整数P的恒等式: ∑ k = 1 n k p C n k \sum_{k=1}^nk^pC_n^k k=1nkpCnk

6、等式: C 2 n n = ∑ k = 0 n ( C n k ) 2 C_{2n}^n=\sum_{k=0}^n(C_n^k)^2 C2nn=k=0n(Cnk)2
证明方法:

7、对帕斯卡不等式不断扩展第一项、或者是第二项,可以得到不同的等式
C n k = C n − 1 k + C n − 1 k − 1 , ( k > 0 ) C_n^k=C_{n-1}^{k}+C_{n-1}^{k-1},(k>0) Cnk=Cn1k+Cn1k1,(k>0)
扩展第一项可得: C n k = C 0 k + C 0 k − 1 + ⋯ + C n − 2 k − 1 + C n − 1 k − 1 C_n^k=C_0^k+C_0^{k-1}+\dots+C_{n-2}^{k-1}+C_{n-1}^{k-1} Cnk=C0k+C0k1++Cn2k1+Cn1k1
扩展第二项可得: C n k = C n − 1 k + C n − 2 k − 1 + ⋯ + C n − k 1 + C n − k + 1 0 + C n − k − 1 − 1 C_n^k=C_{n-1}^{k}+C_{n-2}^{k-1}+\dots +C_{n-k}^1+C_{n-k+1}^0+C_{n-k-1}^{-1} Cnk=Cn1k+Cn2k1++Cnk1+Cnk+10+Cnk11
可以用n+k+1取代n

第14章 polya计数

S n S_n Sn是所有置换的集合,称为n阶对称群
置换群满足三条性质且是S_n置换的非空子集
在几何中有角点对称群、边对称群、面对称群
角点对称群:旋转+反射

Burnside定理

定理1:设G是X的置换群,C是X的着色集合,使C保持不变的置换集合 G ( c ) G(c) G(c)着色集 C ( f ) C(f) C(f),我们想要计算与C等价的数量,对于每个置换f,恰好有 ∣ G ( c ) ∣ | G(c)| G(c)个置换,作用在c上与f有相同的效果。因为总共有 ∣ G ∣ |G| G个置换,与c等价的着色数就等于
∣ G ∣ ∣ G ( c ) ∣ \frac{|G|}{|G(c)|} G(c)G
定理2:设G是X的置换群,而C是X中一个满足下面条件的着色集合:对于G中所有的f和C中所有的c都有f*c仍在C中,则C中的非等价着色数N(G,C),即
N ( G , C ) = 1 ∣ G ∣ ∑ f ∈ G ∣ C ( f ) ∣ N(G,C)=\frac 1{|G|}\sum_{f\in G} |C(f)| N(G,C)=G1fGC(f)

换言之,C中非等价的着色数等于在G中每个 f f f 的置换作用下保持不变的着色的平均数

例题:设有k种颜色对正n角形染色,有多少种方法
解题步骤
1、首先根据旋转、反射等信息,确定置换群 G = { f 1 , f 2 , … , f n } G=\{f_1,f_2,\dots,f_n\} G={f1,f2,,fn}
2、然后枚举每一个置换 f i f_i fi,计算 f i f_i fi能够保持多少个c的着色不变,即 C ( f ) C(f) C(f)的大小
方法一:直接计算
(1)旋转:

  1. 恒等置换(单位元):一种有n个位置,每个位置有k种颜色可以选择,有 k n k^n kn个着色 c 保持不变
  2. 其余n-1个旋转置换:只有所有位置取同一种颜色时才能够保持不变,一共有k种颜色,因此有k个着色c在f的作用下保持不变

(2)反射:
按对称轴讨论有多少种选择即可

  1. 如果n是奇数那么有:对于每一个对称置换 f f f有,顶点单独选择一种颜色,其余点按对称轴对应两点选择一种颜色,因此有 k × k n − 1 2 k\times k^{\frac {n-1}{2}} k×k2n1个着色保持不变,这样的置换一共有n种,因此总数为 n × k × k n − 1 2 n\times k\times k^{\frac {n-1}{2}} n×k×k2n1
  2. 如果n为偶数那么有:如果按顶点对称的,那么两个顶点选择一种颜色,其余点按对称轴对应两点选择一种颜色,有 k 2 × k n − 2 2 k^2\times k^{\frac {n-2}2} k2×k2n2,这样的置换有 n 2 \frac n2 2n个,因此有 n 2 × k 2 × k n − 2 2 \frac n2\times k^2\times k^{\frac {n-2}2} 2n×k2×k2n2
    如果按中线对称,那么就对应两点选择一种颜色,有 k n 2 k^{\frac n2} k2n个着色,这样的置换有 n 2 \frac n2 2n个,因此有 n 2 × k n 2 \frac n2\times k^{\frac n2} 2n×k2n
    因此总数为 n 2 × k n 2 + n 2 × k 2 × k n − 2 2 \frac n2\times k^{\frac n2}+\frac n2\times k^2\times k^{\frac {n-2}2} 2n×k2n+2n×k2×k2n2

方法二:polya计数
对每个置换 f i f_i fi作循环因子分解,每一个因子中的所有点颜色相同,可以得到因子的个数 # ( f ) (f) (f),如果计算的是这样没有指定颜色限制的非等价着色数,那么 C ( f ) = k # ( f ) C(f)=k^{\#(f)} C(f)=k#(f)

3、带入公式 N ( G , C ) = 1 ∣ G ∣ ∑ f ∈ G ∣ C ( f ) ∣ N(G,C)=\frac 1{|G|}\sum_{f\in G} |C(f)| N(G,C)=G1fGC(f)求解答案

polya定理

定义G的循环指数 P G ( z 1 , z 2 , … , z k ) = 1 ∣ G ∣ ∑ f ∈ G z 1 e 1 z 2 e 2 … z k e k P_G(z_1,z_2,\dots,z_k)=\frac 1{|G|}\sum_{f\in G}z_1^{e_1}z_2^{e_2}\dots z_k^{e_k} PG(z1,z2,,zk)=G1fGz1e1z2e2zkek

z 1 z_1 z1代表1循环可选择的颜色, z 2 z_2 z2代表2循环可选择,依次类推。同时, e 1 e_1 e1表示1循环因子的个数, e 2 e_2 e2表示2循环因子的个数,依次类推

设X是元素集合,G是X的置换群, { u 1 , u 2 , … , u k } \{u_1,u_2,\dots,u_k\} {u1,u2,,uk}是k中颜色的集合,C是X的任意着色集。这时,针对各颜色的数目的C的非等价着色数的生成函数是
P G ( u 1 + ⋯ + u k , u 1 2 + … , u k 2 , … , u 1 n + ⋯ + u k n ) P_G(u_1+\dots+u_k,u_1^2+\dots,u_k^2,\dots,u_1^n+\dots+u_k^n) PG(u1++uk,u12+,uk2,,u1n++ukn)

生成函数中的项 u 1 p 1 u 2 p 2 … u k p k u_1^{p_1}u_2^{p_2}\dots u_k^{p_k} u1p1u2p2ukpk的系数等于C中把X的 p 1 p_1 p1个元素着色为 u 1 u_1 u1, p 2 p_2 p2个元素着色为 u 2 u_2 u2 p k p_k pk个元素着色为 u k u_k uk的非等价着色数

P G ( u 1 + ⋯ + u k , u 1 2 + … , u k 2 , … , u 1 n + ⋯ + u k n ) P_G(u_1+\dots+u_k,u_1^2+\dots,u_k^2,\dots,u_1^n+\dots+u_k^n) PG(u1++uk,u12+,uk2,,u1n++ukn)是对 P G ( z 1 , z 2 , … , z k ) P_G(z_1,z_2,\dots,z_k) PG(z1,z2,,zk)的一种替换,每一个 z i z_i zi,有k种颜色可以选择,把这个因子内的点着色为相同颜色,因此是 u x i u_x^i uxi

解题步骤
1、首先确定置换群 G = { f 1 , f 2 , … , f n } G=\{f_1,f_2,\dots,f_n\} G={f1,f2,,fn}
2、然后枚举每一个置换 f i f_i fi,分解循环因子,得出 t y p e ( f ) = ( e 1 , e 2 , … , e n ) type(f)=(e_1,e_2,\dots,e_n) type(f)=(e1,e2,,en),然后得到单项式 m o n ( f ) = z 1 e 1 z 2 e 2 … z n e n mon(f)=z_1^{e_1}z_2^{e_2}\dots z_n^{e_n} mon(f)=z1e1z2e2znen
3、得到 P G ( z 1 , z 2 , … , z k ) = 1 ∣ G ∣ ∑ f ∈ G m o n ( f ) = 1 ∣ G ∣ ∑ f ∈ G z 1 e 1 z 2 e 2 … z k e k P_G(z_1,z_2,\dots,z_k)=\frac 1{|G|}\sum_{f \in G} mon(f)=\frac 1{|G|}\sum_{f\in G}z_1^{e_1}z_2^{e_2}\dots z_k^{e_k} PG(z1,z2,,zk)=G1fGmon(f)=G1fGz1e1z2e2zkek
4、将k种颜色的集合 { u 1 , u 2 , … , u k } \{u_1,u_2,\dots,u_k\} {u1,u2,,uk}代入得到 P G ( u 1 + ⋯ + u k , u 1 2 + … , u k 2 , … , u 1 n + ⋯ + u k n ) P_G(u_1+\dots+u_k,u_1^2+\dots,u_k^2,\dots,u_1^n+\dots+u_k^n) PG(u1++uk,u12+,uk2,,u1n++ukn),然后选择符合题意的项,选择它的系数即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值