複数のセットの順列と組み合わせ

転送元:クリックしてリンクを開きます

最初に、繰り返し要素のない順列と組み合わせの定義を確認しましょう


配置、英語は順列と呼ばれ、セット内の指定された数の要素から要素を削除することを指します。

Combination、英語名はCombinationです。つまり、順序に関係なく、指定された数の要素のみが要素のセットから取得されます。


n個の異なる要素のセットからr個の要素をランダムに取得するための配置は、 P(n、r)= n *(n-1)* ... *(n-r + 1)= n!/(nr )!、特にP(n、n)= n!

n個の異なる要素のセットから r要素の組み合わせは、C(n、r)= P(n、r)/ r!= n!/((nr)!* r!)、特にC(n、n)= 1


次に、複数のセット(マルチセット)の順列と組み合わせを定義しましょう


多重集合をS = {n1 * a1、n2 * a2、...、nk * ak}、n = n1 + n2 + ... + nkとします。 

つまり、セットSにはn1要素a1、n2要素a2、...、nk要素ak、niは要素aiの多重度と呼ばれ、kは複数セットのカテゴリの数になります

Sの任意のr要素の配置は、Sのr配置と呼ばれます。r= nの場合、式P(n; n1 * a1、n2 * a2、...、nk * ak)= n!/( n1!* n2!* ... * nk!)

Sの任意のr要素の組み合わせは、Sのr組み合わせと呼ばれます。r<= any niの場合、式  C(n; n1 * a1、n2 * a2、...、nk * ak)=  C( k + r-1、r)、

式から、複数のセットの組み合わせはカテゴリk  と選択された要素r  にのみ関連しており、合計とは関係がないことがわかります。


問題の説明を複数の集合問題の順列と組み合わせに変換する方法は?


第三に、複数の集合問題のいくつかの例を見てみましょう


例1:線形方程式x1 + x2 + ... + xk = rには、非負の整数解のセットがいくつありますか?

解:上記の不定方程式の非負の整数解は、次の配置に対応します

1 ... 1 0 1 ... 1  0 1 ... 1  0 ...... 0 1 ... 1

x1個x2個x3個...... xk個

その中で、k-1 0はr 1をk個のセグメントに分割し、各セグメントの1の数はx1、x2、...、xk、 

明らかに、この配置は複数のセットの完全な配置ですS = {r * 1、(k-1)* 0}

つまり、P(r + k-1; r * 1、(k-1)* 0)=(r + k-1)!/(r!*(k-1)!)= C(r + k- 1、r)、つまり、kタイプの要素からrタイプを選択


例2:駅には6つの入口があり、各入口は一度に1人しか入場できません。9人のグループが駅に入る計画はどのようになっていますか?

回答:インバウンド計画は次のように表すことができます 

1  0 11  0 11  0 1  0 11  0 1 

g1 g2 g3 g4 g5 g6

その中で、1は異なる人物を意味し、0はドアフレームを意味し、6-1 = 5のドアフレームはシーケンスを6つのセグメントに分割し、

次に、インバウンド計画は、上記の14要素の配列として表現できますS = {5 * 1、1 * p1、1 * p2、...、1 * p9}

つまり、P(5 + 9; 5 * 1、1 * p1、1 * p2、...、1 * p9)= 14!/(5!* 1!* .... 1!)= 14!/ 5!


例3:(0,0)から(m、n)までの降順でないパスの数を見つける

回答:どのパスに関係なく、x方向にmステップ、y方向にnステップを実行し、非下降パスの数と複数のセットの配置S = {m * x、n * y}の間に1対1の対応を確立する必要があります。したがって、グリッド総数はP(m + n; m * x、n * y)=(m + n)!/(m!* n!)= C(m + n、n)= C(m + n、 m)


一般に、c> = a、d> = bの場合、(a、b)から(c、d)への非減少パスの数はC(c-a + db、ca)です。


展開の問題:上記の例に基づいて、m <nの場合、対角線y = xに触れることなく、ポイント(0,1)からポイント(m、n)までの非減少経路データを検索します(接触には通過が含まれます)。

解答:从(0,1)到(m,n)的非降路径,有的接触 y=x,有的不接触,对于每条接触 y=x的非降路径,做(0,1)关于y=x的对称点(1,0)到(m,n)的对称非降路径,容易看出从(0,1)到(m,n)接触y=x的非降路径与 (1,0)到(m,n)的非降路径(必穿过y=x)一一对应,

故所求的非降路径数为 C(m+n-1, m) - C(m+n-1, m-1)


例四、将r个相同的小球放入n个不同的盒子,总共有多少种方案?

解答:该问题可以转化为r个相同的小球与n-1个相同的盒壁的排列问题

1...1 0 1...1 0 1...1 0 ...... 0 1...1

其中有 n-1个 0 分成 n段,每段表示不同的盒子, 每段中1的个数表示该盒子里放入的小球总数,总共r个1

即:P( r+n-1; r*1, (n-1)*0 ) = (r+n-1)! / ( r! * (n-1)! ) = C( r+n-1, r)


例五、求集合 X = { 1,2,..., n }的不含相邻整数的k元子集个数

解答:任意一个X的k元子集s都可以对应于一个由0,1组成的有序n重组(a1 a2 ... an),其中 ai = 1 当 i属于s,否则 ai = 0,当i不属于s,由于s中不含相邻整数,所以在此n重组中没有两个1是相邻的,所以子集s是与这样的n重组 S = { k*1, (n-k)*0 }之间是一一对应的,由于任意两个1彼此不相邻,故可以把(n-k)个0依次排列,然后在(n-k+1)个空隙中插入k个1,所以从(n-k+1)个空隙中选择k个位置来放置1,有 C(n-k+1, k) 种选法,这也是原问题所对应的答案。


其他例子.......To Be Continue


おすすめ

転載: blog.csdn.net/qq_36909245/article/details/80456694