组合数学

懒得复制的一些东西

1.1 可重复组合

\(n\)个数中选择\(r\)个数,每个数可以重复选择多次。

方案数为\(\binom{n + r - 1}{r}\)

考虑若没有选择多次的条件,就是在\(n\)个数中选择一个子数列,满足\(a_i < a_{i + 1}\),现在有了可以重复选择的条件,也就是说我们选择的子数列变成了\(a_i <= a_{i + 1}\),那么我们考虑如何将其变成\(a_i < a_{i + 1}\)的形式,只需将这个子数列从小到大排序,使\(a_i + i - 1\)即可。

那么此时的方案数是\(\binom{n + r - 1}{r}\),感性理解一下就是从\(n + r - 1\)个数中选择\(r\)个数,那么按照\(a_i + i - 1\)的规则减回去,发现最大的数最大是\(n\),最小的数是\(1\),正好满足原来的条件。

接着考虑一个问题,如果依旧是是从\(n\)个数中选择\(r\)个数,不能选择相邻的数,每一个数只能选择一次的方案数。

那么此时选择的子数列就是\(a_i + 1 < a_{i + 1}\)的形式,我们考虑将它变成\(a_i < a_{i + 1}\)的形式,只需移项即可,得到\(a_i < a_{i + 1} - 1\)。那么现在数列中最大的数也就是\(n - r + 1\)了,方案数也就是\(\binom{n - r + 1}{r}\)

posted @ 2020-06-12 10:25  Tian-Xing  阅读(110)  评论(0编辑  收藏  举报