组合数学笔记(一)

前一个小时主要讲了书籍和组合数学的大纲。

后面主要讲了著名的小球分盒子问题:

\(2\)个角度是经常考虑的:

  1. 球的区别与否
  2. 盒子的区别与否

另外还分了\(3\)个角度:

  1. 不做区分
  2. 盒子中小球数量\(<=1\)
  3. 盒子中小球数量\(>=1\)

分成\(2*2*3=12\)种,就是著名的\(12\)重计数法。

image

\(n\)个球放进\(m\)个盒子里,可以理解为一个映射\(f\)为长度为\(n\)的vector向长度为\(m\)的vector。

从映射的角度考虑后三个角度的话,第一个相当于是所有满足条件的映射,第二个是一个单射,第三个是满射。课上只讨论了前两个比较简单的问题。

以及三个定理:

  1. 乘法原则:集合\(S\)\(T\),满足\(|S*{T}|=|S|\times{|T|}\),第一个乘号是笛卡尔积。
  2. 加法原则:有不相交的集合\(S\)\(T\),满足\(|S\cup{T}|=|S|+|T|\)
  3. 双射原则:如果有集合\(S\)和集合\(T\),可以通过某个映射\(f\)一一对应(双射),则有\(|S|=|T|\)
    (类似的,我们有单射则\(|S|>=|T|\),满射则\(|S|<=|T|\)

第三个原则可以将一个难以计数的东西一一对应到一个容易计数的东西上。

我们尝试用第一个原则和第二个原则分别解决01串的问题:有一个长度为\(n\)的01串,每一位可以是0也可以是1,有多少种可能。

乘法原则:\(S={0,1}\) \(Ans=|S^n|=|S|^n=2^n\)
加法原则:设\(F(x)\)为长度为\(x\)的答案。\(S(x)\)为01串所有\(x\)元组,则有:

\(S(x)=S(x-1)*\{0\}+S(x-1)*\{1\}\)
\(F(x)=F(x-1)+F(x-1)=2F(x)\)
再设定边界,有\(F(0)=1\),所以\(F(x)=2^x\)


普通的组合数不再定义,这里还定义了一个特殊的组合数(暂且叫做集合组合数):

\(\binom{[n]}{m}\) 表示\(n\)元组选出\(m\)个构成的所有\(m\)元组的集合。
容易发现有\(|\binom{[n]}{m}|=\binom{n}{m}\)


上课时主要讲了\(12\)重计数法中前\(2\)个:

  1. 区分球盒子,无限制;用组合的方法来计数,对于每一个\(i\),他的映射可以是\([m]\),映射总数就是\(|[m]^n|\),由乘法原理可知,\(|[m]^n|=|[m]|^n=m^n\)

  2. 区分球盒子,单射;老师说这个相当于是"Chain Rule",即链式原理,感性考虑是\(n\)个从前往后一次可以选:\(m\),\(m-1\)....\(m-n+1\)。所以答案为\(m^\underline{n}\)

总结:12重计数难度依次递增,这节课只讲了全部区分的还不是很难,主要是介绍了3个原则能够更全面更严谨地学习组合数学。

posted @ 2023-02-17 15:25  IceYukino  阅读(122)  评论(0)    收藏  举报