标签:inline bin 重复 api 选中 允许 意思 公式 lazy
排列(Permutation)一般只等是从\(n\)个不同的元素中取出\(r\)个不重复的元素,按照一定的次序排列,通常称为\(n\)个中取\(r\)个的无重排列,通常记为\(P_n^r\).
组合(Combination)一般指的是从\(n\)个元素中取出\(r\)个不相同的元素,组成一子集,而不考虑元素之间的顺序关系,通常称为\(n\)个中取\(r\)个的无重组合,记做\(C_n^r\).
????对于排列和组合计数最经典的模型是往盒子里面放小球.
????对于排列\(P_n^r\),将\(n\)个不同的小球放入到\(r\)个不同的盒子中.从盒子的角度分步来考虑,首先对于第一个盒子选择放小球,有\(n\)个小球可以选择,然后处理将\(n-1\)个盒子放入到\(r-1\)个盒子中,这里允许一个盒子只能放一个小球,.于是得到\(P_n^r=n*P_{n-1}^{r-1}\)这个递推公式.如果从小球的角度考虑,选择第一个小球如果放,那么有\(r\)个盒子可以放置,同时要处理剩下的\(n-1\)个小球放入到\(r-1\)个盒子中;如果第一个小球不被选中,那么要处理的问题就是从\(n-1\)个小球中选择\(r\)个放入到盒子中去,并且每个盒子一个小球.于是可以得到\(P_n^r=r*P_{n-1}^{r-1}+P_{n-1}^r\).
????在组合的小球盒子模型中盒子是完全一样的没有区别,可以先假定盒子是有区别的,对盒子进行编号,则盒子的排列中共有\(r!\)种,此时就对应前面排列盒子完全不同的情况.于是可以得到\(r!C_n^r=P_n^r\),从何得到:
????有组合的定义可以知道,从\(n\)个中选择\(r\)个的数目与从\(n\)个中选择\(n-r\)个的数目是相同的,因为选择\(r\)个后,剩下的就恰好是\(n-r\),即\(C_n^r = C_n^{n-r}\).
关于组合数还有一个公式:\(C_n^l \cdot C_l^r = C_n^r \cdot C_{n-r}^{l-r}\).意思是从\(n\)个中选择\(l\)个元素,再从这\(l\)个元素选择\(r\)个元素的数目等于先从\(n\)个元素中选择\(r\)个,在从剩下的\(n-r\)中选择剩下的\(l-r\)个.
这明显是一条分割线,明天再写2020年7月7日23:57:53.
标签:inline bin 重复 api 选中 允许 意思 公式 lazy
原文地址:https://www.cnblogs.com/2018slgys/p/13264353.html