关于排列组合与分配问题

1)从n个不同元素里,选取r个元素进行全排列  n*(n-1)*(n-2)*(n-r+1)=n!/(n-r)!

2)从n个不同元素里,任取r个元素组成一个子集  C(n,r)=n!/((n-r)!*r!)

3)圆排列  n!/(n-r)!/r

10个人要坐一桌,其中有2个人不愿意彼此挨着就做,共有多少循环座位排放方法

假设10个人是 a1,a2,a3,a4,a5,....a10  其中 a1,a2 不愿彼此挨着坐。  如果把a1,a2 看成一个整体b ,b,a3,a4,a5,...,a10  这9个人围成一桌  为 8!  a1,a2 有2种顺序

所以10个人围成一桌,a1,a2 挨着坐的方法数为 2*8!  总的方法数为 9!   所以答案是 9!-2*8!

L生日的时候收到了一条手链,是由n种不同颜色的柱子组成的,有一天,她不小心把项链弄坏了,但是它不记得顺序了,那么他能排出都少种链子呢

n!/n=(n-1)!   (此处似乎应该除以2,因为手链是可以翻转的)

4)重集S由无穷个a1,a2,a3....ak组成  从中选择的r排列个数为k^r

第一位有k种选择,第二位有k种选择,....第r位有k种选择

把r个不同的球放入到k个不同的盒子里,每个盒子可以放多个,也可以不放,方案数为 k^r

5)重集S={n1*a1,n2*a2,n3*a3,...,nk*ak}  且S的元素个数为n=n1+n2+n3+...+nk;   则S的全排列数为  n!/(n1!*n2!*...*nk!)

把r个不同的球放入到k个不同的盒子里,第一个盒子里放r1个第二个盒子里放r2个,...第k个盒子里放rk个,一共r个则有 r!/(r1!*r2!*r3!....rk!)

一个网格 n*m(n行m列),从(0,0) 点走到(m,n)点的非降路径数目   设从上向下沿着垂直方向走一个单位距离为x,从左向右沿着水平方向走一个单位距离是y,该路径包含

m个x,n个y,一条路径对应着重集S={m*x,n*y} 的一个全排列,即共有 (m+n)!/(n!*m!)条路径

6)重集S由无穷个a1,a2,a3....ak 组成 S的r组合数为: C(k-1+r,r)

把r个相同的球放入到k个不同的盒子,每个盒子可以放多个,也可以不放,方案数为 C(k-1+r,r)   这个问题相当于求方程 x1+x2+x3+...+xk=r 的非负整数解的个数

7)重集S由无穷个a1,a2,a3....ak 组成 要求a1,a2,...ak 至少出现一次的r组合

设S的任一r组合为 {x1*a1,x2*a2,x3*a3,...,xk*ak}   r>=k

x1+x2+x3+..+xk=r;

设yi=xi-1;

y1+y2+...+yk=r-k;

由6)知 C(k-1+r-k,r-k)=C(r-1,r-k)

原文地址:https://www.cnblogs.com/wintersong/p/5286505.html