组合初解、分析组合数、组合恒等式(世界上最垃圾的组合数学1)(坑)

前言

组合数,一个令人头大的东西

参考资料

组合数:https://www.luogu.com.cn/blog/chengni5673/dang-xiao-qiu-yu-shang-he-zi

定义

n ! = 1 ∗ 2 ∗ 3 ∗ . . . ∗ n n!=1*2*3*...*n n!=123...n
[ p ] [p] [p]仅当条件 p p p成立时此式子的值为 1 1 1,否则为 0 0 0
有标号的东西:简单来说就是东西之间存在不同,比如 1 , 2 1,2 1,2 2 , 1 2,1 2,1是两个不同的排列,而 a a aa aa a a aa aa则是两个相同的排列。
A ˉ \bar{A} Aˉ表示 A A A的补集。
S S S表示全集。

组合数初解

代数意义

什么是组合数?

比如说有 n n n个不同的人,问你他们不同的排列数,你一下子就说 n ! n! n!啊。

毕竟第一个位置有 n n n个选择,第二个位置有 n − 1 n-1 n1个选择,第三个 n − 2 n-2 n2个选择以此类推。

那么如果从中抽 m m m个人并进行排列呢?

第一个位置 n n n种选择,到第 m m m个位置停止,那不就是 n ! ( n − m ) ! \frac{n!}{(n-m)!} (nm)!n!

但是,如果只是问你从 n n n个人中随便选 m m m个人的方案是多少,你就一下子懵了。

但是你想想看,同 m m m个人,他们能组成的排列数是 m ! m! m!种,那么我们用 n ! ( n − m ) ! \frac{n!}{(n-m)!} (nm)!n! m ! m! m!不就可以得到结果了吗?

也就是 n ! ( n − m ) ! m ! \frac{n!}{(n-m)!m!} (nm)!m!n!

具体的,从 n n n个人中选 m m m个的方案数的数学符号为 C n m C_{n}^m Cnm,或者为 ( n m ) \binom{n}{m} (mn),从 n n n个人中选 m m m个人出来排列为 A n m A_{n}^m Anm

C n m = n ! ( n − m ) ! m ! , A n m = n ! ( n − m ) ! C_{n}^m=\frac{n!}{(n-m)!m!},A_{n}^m=\frac{n!}{(n-m)!} Cnm=(nm)!m!n!,Anm=(nm)!n!

图形意义

你知道杨辉三角形吗?

是的,就是下面这坨东西:
在这里插入图片描述
每个数字都等于上面两个数字的和,图中给出了两个例子: 2 = 1 + 1 , 6 = 3 + 3 2=1+1,6=3+3 2=1+1,6=3+3,特别的,每行的最左边和最右边都是 1 1 1,实际上,第 i i i行第 j j j个数字就是 C i − 1 j − 1 C_{i-1}^{j-1} Ci1j1

具体的证明可以看简单恒等式中的第3条

二项式意义

如果要说组合数最NB的意义,就是这个意义了。

( a + 1 ) k = ∑ i = 0 k C k i a i ( k ∈ N + ) (a+1)^k=\sum\limits_{i=0}^kC_{k}^ia^i(k∈N_{+}) (a+1)k=i=0kCkiai(kN+)

所以 C k i C_{k}^i Cki就是 a i a_{i} ai的系数。

简单恒等式

是的,这里的恒等式非常的简单。

注:一下证明都是在假定左边的式子有意义的情况下予以证明,如果 C n i ( i > n 或 者 i < 0 ) C_{n}^i(i>n或者i<0) Cni(i>ni<0),那么值为 0 0 0,补证则是考虑上式子中组合数越界的情况(不考虑 n < 0 n<0 n<0 的情况)。

  1. C n i = C n n − i C_{n}^i=C_{n}^{n-i} Cni=Cnni
    证明: C n i = n ! ( n − i ) ! i ! = n ! i ! ( n − i ) ! = C n n − i C_{n}^i=\frac{n!}{(n-i)!i!}=\frac{n!}{i!(n-i)!}=C_{n}^{n-i} Cni=(ni)!i!n!=i!(ni)!n!=Cnni
    补证:越界显然是两边同时越界的。
  2. C n i = n i C n − 1 i − 1 C_{n}^i=\frac{n}{i}C_{n-1}^{i-1} Cni=inCn1i1
    证明: C n i = n ! i ! ( n − i ) ! = n i ( n − 1 ) ! ( i − 1 ) ! ( n − i ) ! = n i C n − 1 i − 1 C_{n}^i=\frac{n!}{i!(n-i)!}=\frac{n}{i}\frac{(n-1)!}{(i-1)!(n-i)!}=\frac{n}{i}C_{n-1}^{i-1} Cni=i!(ni)!n!=in(i1)!(ni)!(n1)!=inCn1i1
    补证:越界显然是两边都是 0 0 0
  3. C n i = C n − 1 i − 1 + C n − 1 i ( n > 0 ) C_{n}^i=C_{n-1}^{i-1}+C_{n-1}^i(n>0) Cni=Cn1i1+Cn1i(n>0)
    如果 n = i n=i n=i或者 i = 0 i=0 i=0,显然成立,然后开始代数证明(从右边的式子推到左边):
    ( n − 1 ) ! ( i − 1 ) ! ( n − i ) ! + ( n − 1 ) ! i ! ( n − i − 1 ) ! = i n n ! i ! ( n − i ) ! + n n − i n ! i ! ( n − i ) ! = C n i \frac{(n-1)!}{(i-1)!(n-i)!}+\frac{(n-1)!}{i!(n-i-1)!}=\frac{i}{n}\frac{n!}{i!(n-i)!}+\frac{n}{n-i}\frac{n!}{i!(n-i)!}=C_{n}^i (i1)!(ni)!(n1)!+i!(ni1)!(n1)!=nii!(ni)!n!+nini!(ni)!n!=Cni
    当然,这也就证明了上面杨辉三角形代表的组合意义。
    补证:分 i < 0 , i = n , i > n i<0,i=n,i>n i<0,i=n,i>n 三种情况讨论即可。
  4. ∑ i = 0 n ( − 1 ) i C n i = [ n = 0 ] \sum\limits_{i=0}^n(-1)^iC_{n}^i=[n=0] i=0n(1)iCni=[n=0]
    这个用杨辉三角形非常的好证明,对于第 n ( n > 0 ) n(n>0) n(n>0)行,奇数位置为蓝色,偶数位置为红色,然后全部向上一行指过去,上一行每个数字都被一个红色和一个蓝色指到,刚好相消,只有当 n = 0 n=0 n=0时,该式子的值为 1 1 1
    在这里插入图片描述
  5. ∑ i = 0 n C n i = 2 n \sum\limits_{i=0}^nC_{n}^i=2^n i=0nCni=2n
    从组合意义去证明,对于 n n n个硬币, 2 n 2^n 2n就表示不同的硬币朝上的情况,如果设 k k k个硬币朝上的方案其实就是 C n k C_{n}^k Cnk
    第二就是从二项式角度出发: ( 1 + 1 ) n = ∑ i = 0 n C n i (1+1)^n=\sum\limits_{i=0}^nC_{n}^i (1+1)n=i=0nCni,是不是非常显然了。
  6. C n i C i m = C n m C n − m n − i ( 0 ≤ m ≤ n , i ≤ n ) C_{n}^iC_{i}^m=C_{n}^mC_{n-m}^{n-i}(0≤m≤n,i≤n) CniCim=CnmCnmni(0mn,in)
    证明: n ! i ! ( n − i ) ! ∗ i ! m ! ( i − m ) ! = n ! ( n − m ) ! ( n − i ) ! ∗ ( n − m ) ! m ! ( i − m ) ! = n ! ( n − m ) ! m ! ∗ ( n − m ) ! ( n − i ) ! ( i − m ) ! = C n m ∗ C n − m n − i \frac{n!}{i!(n-i)!}*\frac{i!}{m!(i-m)!}=\frac{n!}{(n-m)!(n-i)!}*\frac{(n-m)!}{m!(i-m)!}=\frac{n!}{(n-m)!m!}*\frac{(n-m)!}{(n-i)!(i-m)!}=C_{n}^m*C_{n-m}^{n-i} i!(ni)!n!m!(im)!i!=(nm)!(ni)!n!m!(im)!(nm)!=(nm)!m!n!(ni)!(im)!(nm)!=CnmCnmni
    补证:当 i < m i<m i<m 时,左右两边都是 0 0 0
  7. ∑ i = a b C i a = C b + 1 a + 1 ( 0 ≤ a ≤ b ) \sum\limits_{i=a}^{b}C_{i}^{a}=C_{b+1}^{a+1}(0≤a≤b) i=abCia=Cb+1a+1(0ab)
    这个证明自然也是十分的简单的,对于 C a a = C a + 1 a + 1 = 1 C_a^a=C_{a+1}^{a+1}=1 Caa=Ca+1a+1=1 ,而对于 i i i C x a + C x a + 1 = C x + 1 a + 1 C_{x}^a+C_{x}^{a+1}=C_{x+1}^{a+1} Cxa+Cxa+1=Cx+1a+1,就这样不断的转换下去,最终转化成 C x + 1 a + 1 C_{x+1}^{a+1} Cx+1a+1
    画一个左对齐的杨辉三角形:
    在这里插入图片描述

分析组合数

参考:https://www.luogu.com.cn/blog/chengni5673/dang-xiao-qiu-yu-shang-he-zi

这里主要就是如何分析出这个用什么组合数,当然,这也是组合数中最难的部分,这里只讲一个初等的方法,至于超级大佬的方法,需要自己去积累了。

容斥原理

∣ A ∣ |A| A表示这个集合中的元素个数。

两个集合的容斥: ∣ A ∪ B ∣ = ∣ A ∣ + ∣ B ∣ − ∣ A ∩ B ∣ |A∪B|=|A|+|B|-|A∩B| AB=A+BAB

对于多个集合的容斥:

A 1 , A 2 , A 3 , A 4 , . . . A_1,A_2,A_3,A_4,... A1,A2,A3,A4,...

S k S_{k} Sk k k k A A A集合的交集

∣ A 1 ∪ A 2 ∪ A 3 ∪ A 4 . . . . . ∪ A n ∣ = ∑ j = 1 n ( − 1 ) j − 1 ∑ 1 ≤ i 1 < i 2 < . . . < i j ≤ n ∣ A i 1 ∩ A i 2 ∣ |A_1∪A_2∪A_3∪A_4.....∪A_n|=\sum\limits_{j=1}^n(-1)^{j-1}\sum\limits_{1≤i_1<i_2<...<i_j≤n}|A_{i_1}∩A_{i_2}| A1A2A3A4.....An=j=1n(1)j11i1<i2<...<ijnAi1Ai2

证明的话也是灰常的简单:
一个元素被 k k k个集合包含,那么其会被统计多少次呢?
就是: C k 1 − C k 2 + . . . . . + ( − 1 ) k − 1 C k k = 0 + C k 0 = 1 C_{k}^1-C_{k}^2+.....+(-1)^{k-1}C_{k}^k=0+C_{k}^0=1 Ck1Ck2+.....+(1)k1Ckk=0+Ck0=1

当然,容斥原理也有其余形式:

∣ A 1 ˉ ∩ A 2 ˉ ∩ A 3 ˉ . . . ∩ A n ˉ ∣ = ∣ S ∣ − ∣ A 1 ∪ A 2 ∪ A 3 . . . ∪ A n ∣ |\bar{A_1}∩\bar{A_2}∩\bar{A_3}...∩\bar{A_n}|=|S|-|A_1∪A_2∪A_3...∪A_n| A1ˉA2ˉA3ˉ...Anˉ=SA1A2A3...An

证明:

A 1 ∪ A 2 ∪ A 2 ∪ . . . ∪ A n ‾ = A 1 ‾ ∩ A 2 ‾ ∩ A 3 ‾ . . . ∩ A n ‾ \overline{A_{1}∪A_{2}∪A_{2}∪...∪A_n}=\overline{A_1}∩\overline{A_2}∩\overline{A_3}...∩\overline{A_n} A1A2A2...An=A1A2A3...An

换一下,证毕。

当然,还有一个奇怪的式子:

A 1 ∩ A 2 ∩ A 2 ∩ . . . ∩ A n ‾ = A 1 ‾ ∪ A 2 ‾ ∪ A 3 ‾ . . . ∪ A n ‾ \overline{A_{1}∩A_{2}∩A_{2}∩...∩A_n}=\overline{A_1}∪\overline{A_2}∪\overline{A_3}...∪\overline{A_n} A1A2A2...An=A1A2A3...An

证明:

你只需要把 A A A全部取补代入 A 1 ∪ A 2 ∪ A 2 ∪ . . . ∪ A n ‾ = A 1 ‾ ∩ A 2 ‾ ∩ A 3 ‾ . . . ∩ A n ‾ \overline{A_{1}∪A_{2}∪A_{2}∪...∪A_n}=\overline{A_1}∩\overline{A_2}∩\overline{A_3}...∩\overline{A_n} A1A2A2...An=A1A2A3...An,然后左右取补集即可。

插板法

插板法,顾名思义:插板

举个例子:

假设现在有 n n n个小球,没有编号,但是又有 m m m个有标号的框,问有多少种放球方法,不允许一个框没有球。

那么我们可以把小球排成一排,然后在球与球的空隙之间插板,第一个板左边是第一个框,第一个板到第二板就是第二个框,以此类推,只需要插 m − 1 m-1 m1个板即可。

也就是: C n − 1 m − 1 C_{n-1}^{m-1} Cn1m1

在这里插入图片描述
那这个方法有什么用呢?在分析组合数时会比较直观,比较方便,当然也要运用合理,否则就会闹不小的笑话。

一个小套路

那如果是允许框是空的呢?

非常simple的方法就是给每个框都放上一个球,这样就跟上面的题一摸一样啦。

捆绑法

其实就是把物体当成一个整体,用参考资料中的一个例子:

例子:有 8本不同的书;其中数学书 3本,外语书 2本,其它学科书 3本.若将这些书排成一列放在书架上,求数学书和外语书都放在一起的方案数

把 3本数学书“捆绑”在一起看成一个整体, 2本外语书也“捆绑”在一起看成一个整体,与其它 3本书一起看作 5个元素,然后就可以求了。

当然,我补充一点。

有时候捆绑法比较好用的一点就是你可以把每一部分看成一个整体,然后在处理整体内的情况,一般情况下就是:整体外 × × ×整体内。

随机应变

有时候遇到上面不能解决的问题时,多从组合数本身的定义出发,不断的找题目中的信息并写出公式,至于这个随机应变要怎么掌握,就基本上是多刷题,提升实力了。

增加较难的组合数以及一些例子。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值