1. 程式人生 > >幾個重要的排列組合定理公式

幾個重要的排列組合定理公式

1.排列的幾個定理公式

<1>.排列,一般地,從n個不同元素中取出m(m≤n)個元素,按照一定的順序排成一列,叫做從n個元素中取出m個元素的一個排列(Arrangement)。特別地,當m=n時,這個排列被稱作全排列(Permutation)。


<2>.n個元素的迴圈r-排列的個數為上式除以r

迴圈,顧名思義,就是圍成一圈,規定一個方向(順或逆),轉一圈形成的為一種。如:若不圍一圈,12345678,78123456等共八個均不一樣,但圍成一圈後就一樣了,所以要除以r

注意:迴圈排列中,12345和54321不一樣,因為按照一個規定的方向,他倆都無法通過旋轉成為對方的排列形式

<3>.多重集:

令s為一個多重集,有k個不同型別的元素,各元素的重數為n1,n2,n3,......,nk。設s的大小為n=n1+n2+...+nk。則s的排列數為n!/(n1!*n2!*...*nk!)

<1> <2> 把每個個體看作是不同的,即使一樣的數字,如排列1和1兩個數,仍為1,1和1,1兩種。但<3> 把重複的元素看作一個,如1和1的排列數有1,1一種

2.組合的幾個定理公式

<1>.從m個不同元素中,任取n(n≤m)個元素併成一組,叫做從m個不同元素中取出n個元素的一個組合;從m個不同元素中取出n(n≤m)個元素的所有組合的個數,叫做從m個不同元素中取出n個元素的組合數。



此處把重複的元素也看做不同的

<2>.Polya計數原理->用於染色問題

詳見ACM p47頁

例題選講:以兩個藍橋杯題目為例


第一步:不考慮旋轉和映象,滿足的共120種情況

第二步:考慮旋轉,即利用1.<2>,除以5

第三步:考慮映象,因為每個位置填的數均不同,所以不存在對稱的填數方式,直接除以2

最後結果:12


此處轉動即旋轉,翻轉即映象

第一步:不考慮旋轉和映象,還有重複性,共12!種情況,即479001600

第二步:考慮重複性,除以3!*4!*5!,得27720

第三步:考慮旋轉,除以12,得2310

第四步:考慮映象,因為存在左右對稱的排列,所以先找出來。將1個A,1個C兩邊都隔5個,剩下2個A,4個B,4個C,兩邊對稱,即將ABBCC排列,共5!/(2*2)=30種,則最後結果:30+(2310-30)/2,為1170種