口胡排列与组合

排列

排列是分顺序的,比如集合\({1,2,3,4,5}\)
我们需要选出\(3\)个数
就是\(5*4*3\):第一次有五个位置可选,第二次有四个位置可选,第三次有三个位置可选

是与顺序有关的,也就是\((1,2,3)\)\((3,2,1)\)是有本质上区别的

所以我们有排列公式,一个集合\(S\)\(|S|=n\),选\(m\)个数的排列:

\[A_n^m=n!/(n-m)! \]

组合

组合是不分顺序的,还是那个集合

\((1,2,3)\)\((3,2,1)\)是没有本质上区别的,也就是这时一种方案

我们定义\(C_n^m\),为一个集合\(S\)\(|S|=n\),选\(m\)个数的组合:

\[A_n^m=C_n^m*A_m^m\longrightarrow C_n^m=\dfrac{n!}{m!(n-m)!} \]

再来几个性质加深下理解:

  • \(\sum\limits_{i=0}^nC_i^j=C_{n+1}^{j+1}\)
    理解:枚举\(j+1\)的右端点\(i+1\),则相当于从\(i\)个点中选\(j\)个点

  • \(\sum\limits_{i=0}^n C_{n}^i(m-1)^{n-i}=m^n\)
    理解:把\(n\)个有区别的小球丢进\(m\)个有区别的盒子,等同于从\(n\)个小球里选\(i\)个,剩下的丢进\(m-1\)个盒子了

可重集合的全排列

我们在数学上的集合定义是非重集,可信息学里常常又要处理可重集(集合里的元素可重复)

比如集合\((1,2,2,3,4,4)\),这便是一个可重集

而此时可重集的排列其实也是与选择顺序有关的,但选第二个跟选第三个本质上是相同的

\(|S|\)\(k\)种数字,分别有\(n_1,n_2...n_k\)个,求全排列
我们可以形象地理解为:我们留出\(n\)个空位,每次把一种数字插进去的组合

\[\begin{aligned}\\ ans&=C_n^{n_1}*C_{(n-n_1)}^{n_2}...*C_{(n-n_1-n_2...-n_{k-2})}^{n_{k-1}}*C_{n_k}^{n_k}\\ ans&=\dfrac{n!}{n_1!n_2!...n_k!}\\ \end{aligned}\]

例题

posted @ 2019-04-14 22:11  y2823774827y  阅读(253)  评论(0编辑  收藏  举报