noip(可能)常用的排列与组合(数论)

注意:0!=1


排列   A(n,m) (n下,m上)

1,选排列

m<n,此时A(n,n-m)


2,全排列

m=n,此时A(n,n)


3,圆排列

n个元素,选出m个组成一个圈。ans=A(n,m)/m 

简证:

        从中选出m个元素,任意m个都可以形成m种排列方式(在圆上的位置不同),所以结果除以m。


4,错位排列

n个元素,各自都不在自己的位置上,设f(i)表示前i个元素这样放置的方式,则f(n)=(n-1)*f(n-1)+(n-1)*f(n-2)。边界为f(0)=f(1)=0,f(2)=1。

简证:

        当前放入第n个时有两种情形:

        a,n放到了i号位,i放到n号位。这两个已经固定,没固定的还剩n-2个,而i又可以从n-1个里面选,所以是(n-1)*f(n-2)。

        b,n放到了i号位,但i没有放到n号位。只有n固定,没固定的还剩n-1个,而i依然可以从n-1个里面选,所以是(n-1)*f(n-1)。


5,不全相异元素的排列

n个元素,其中n1个为一类,n2个为一类,n3个为一类......nm个为一类,则它们的排列数为:n!/(n1!*n2!*.....*nm!)

简证:

        每有一种排列的情况,每一类元素i可以形成ni!种排法,但i类元素内部是相同的,故重复了。



组合 C(n,m)

1,组合与排列间的转换

C(n,m)*m!=A(n,m)

简证:

        C(n,m)选出了m个,每m个又可以形成m!个排列。


2,组合的递推式

C(n,m)=C(n-1,m)+C(n-1,m-1)

简证:

        C(n,m)看做是n个里面选了m个。则C(n-1,m)表示前n-1个就已经选完了m个,第n个不选。C(n-1,m-1)表示前n-1个选了m-1了,第m个被选中的就是第n个。也可通过数学式子得到。


3,可重复选择的组合

n个元素,每个可选择任意次或者不选,共选m个

ans=C(n+m-1,n-1)=C(n+m-1,m)

简证:

        转化问题为:每个至少选一个,那么等同于n个元素,共选m+n个。于是根据“插空法”,现在有m+n-1个空,要插n-1个空,等价于m+n-1个元素选择n-1个的组合数。


4,组合数的等价表达

C(n,m)=C(n,n-m)

简证:

        从n个选择m个,总是剩下n-m个,于是等同于求n个里选择n-m个留下的方案数。


5,二项式定理(杨辉三角)

(a+b)^n=C(n,0)*a^n*b^1+C(n,1)*a^(n-2)*b^2+..........+C(n,n)*a^1*b^n


猜你喜欢

转载自blog.csdn.net/wwwengine/article/details/81036797