經典組合數學模型:盒子與球問題


淺談組合數學:盒子與球問題

前言

  • 組合數學也是數學中一個比較重要的分支,而其中最經典的模型莫過於盒子與球問題。

問題

  • 按照球是否不同,盒子是否不同,盒子是否允許為空,大致可以分為 \(2^3\),也就是 \(8\) 種問題。
  1. 給定 \(N\) 個不同的球,放進 \(M\) 個不同的盒子,盒子允許為空,有多少種方案?\((A)\)
  2. 給定 \(N\) 個不同的球,放進 \(M\) 個不同的盒子,盒子不允許為空,有多少種方案?\((B)\)
  3. 給定 \(N\) 個不同的球,放進 \(M\) 個相同的盒子,盒子允許為空,有多少種方案?\((C)\)
  4. 給定 \(N\) 個不同的球,放進 \(M\) 個相同的盒子,盒子不允許為空,有多少種方案?\((D)\)
  5. 給定 \(N\) 個相同的球,放進 \(M\) 個不同的盒子,盒子允許為空,有多少種方案?\((E)\)
  6. 給定 \(N\) 個相同的球,放進 \(M\) 個不同的盒子,盒子不允許為空,有多少種方案?\((F)\)
  7. 給定 \(N\) 個相同的球,放進 \(M\) 個相同的盒子,盒子允許為空,有多少種方案?\((G)\)
  8. 給定 \(N\) 個相同的球,放進 \(M\) 個相同的盒子,盒子不允許為空,有多少種方案?\((H)\)

解法

  • 因為有些題目之間是有相互聯系的,所以我們按照題目的難易程度順序講。
  • 丟個索引:A,B,C,D,E,F,G,H,
  • A :給定 \(N\) 個不同的球,放進 \(M\) 個不同的盒子,盒子允許為空,有多少種方案?

    對於每一個球,都有 \(M\) 種選擇,所以答案即為 \(M^N\)

  • F :給定 \(N\) 個相同的球,放進 \(M\) 個不同的盒子,盒子不允許為空,有多少種方案?

    經典隔板法問題,可以轉化為:在 \(N\) 個球之間的 \(N-1\) 個間隙中選擇 \(M-1\) 個位置將其分成 \(M\) 份,組合數直接求解。答案即為 \(C_{N-1}^{M-1}\)

  • E :給定 \(N\) 個相同的球,放進 \(M\) 個不同的盒子,盒子允許為空,有多少種方案?

    \(F\) 題類似,只不過盒子允許為空,那么這個時候我們可以假設每個盒子里都已經放了一個球,這個時候實際上就有 \(N+M\) 個球了,類似的,我們再次使用隔板法。對於每一種方案,我們就可以想象成每個空隙右邊的第一個球是提前放好在盒子里的,如果將這個球省略,正好就是盒子允許為空的一種方案。故答案即為 \(C_{N+M-1}^{M-1}\)

  • G :給定 \(N\) 個相同的球,放進 \(M\) 個相同的盒子,盒子允許為空,有多少種方案?

    \(f[n][m]\) 表示將 \(n\) 個球放到 \(m\) 個盒子里的方案數。我們可以分兩種情況來考慮:1.有一個盒子不放球的情況,那么答案就是 \(f[n][m-1]\)。2.所有的盒子都放一個球,那么答案就是 \(f[n-m][m]\)。根據加法原理,我們可以得到遞推式:\(f[n][m]=f[n][m-1]+f[n-m][m],m=\min(m,n)\)。邊界:\(f[0][m]=1,f[n][1]=1\)

  • H :給定 \(N\) 個相同的球,放進 \(M\) 個相同的盒子,盒子不允許為空,有多少種方案?

    每個盒先放一個球,然后就可以變成問題 \(G\)。答案:\(0\quad(N<M)\) 或者 \(f[N-M][M]\)

  • D :給定 \(N\) 個不同的球,放進 \(M\) 個相同的盒子,盒子不允許為空,有多少種方案?

    \(f[n][m]\) 表示將 \(n\) 個球放到 \(m\) 個盒子里的方案數。那么對於第 \(n\) 個球,則有兩種選擇:1.其單獨放在一個盒子里,那么答案就是 \(f[n-1][m-1]\)。2.其和其他的球共用一個盒子,因為有 \(m\) 個盒子可以選擇,那么答案就為 \(m\times f[n-1][m]\)。實際上這就是第二類斯特林數。根據加法原理,遞推式為 \(f[n][m]=f[n-1][m-1]+m\cdot f[n-1][m]\)。邊界:if(m==n||m==1) return 1

  • C :給定 \(N\) 個不同的球,放進 \(M\) 個相同的盒子,盒子允許為空,有多少種方案?

    \(D\) 類似,分別考慮有 \(0\sim M-1\) 個盒子為空的情況,那么答案就為 \(\sum_{i=1}^nf[n][i]\)

  • B :給定 \(N\) 個不同的球,放進 \(M\) 個不同的盒子,盒子不允許為空,有多少種方案?

    \(D\) 題類似,假如我們現在已經得到了將 \(N\) 個不同的球放進 \(M\) 個相同的盒子里的方案,那么實際上由於盒子是不同的,那么還需要對盒子進行排序,(因為盒子有異,所以交換兩個盒子的順序算不同的方案),乘上 \(M\) 的階乘即可。

——2021年2月9日


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM