n個球放入m個盒子總結


n個球放入m個盒子中,有多少種放法

T1

也就是所有球都是一樣的,但是盒子有區別,且不能出現空放的情況。
采用插板法,相當於在n-1個空隙中,插入m個盒子,而由於不能有空盒子,所以n個球的最前邊或者最后邊一定會放一個盒子,所以相當於n-1和間隙中放入m-1個盒子。
C(n-1,m-1), n>=m
0, n<m

T2

球同,盒不同,允許有空盒
先假設m個盒子中都放好了1個球,即假設共有m+n個球,然后情況變為第一種情況,即n+m個球放入m個盒子中,沒有空盒。
C(n+m-1,m-1)

T3第二類斯特林數

球不同,盒相同,無空盒
dp[n][m]=mdp[n-1][m]+dp[n-1][m-1],1<=m<n
dp[k][k]=1,k>=0
dp[k][0]=0,k>=1
0,n<m
轉移方程含義:
dp[n][m]表示將n個球放入m個箱子中(無空箱)的組合數量
對於第n個球,如果前邊n-1個球已經放入了m個箱子中(無空箱),則第n個球放入m個箱子中任意一個都可以,即mdp[n-1][m]
如果前邊n-1個球放入了m-1個箱子中(存在一個空箱子),那么第n個球必須放到這個空箱子中,即1*dp[n-1][m-1]

T4

球不同,盒相同,允許空盒
屬於情況三+附加條件
令1=[1,m],枚舉dp[n][i]並求和即可。
即,假設空箱子的數量是m-1到1,求出所有情況然后加和。

T5

球不同,盒不同,無空盒
屬於情況三+附加條件
對於盒子求組合(m種不同盒子有m!種組合方式)即可
dp[n][m]*m!

T6

球不同,盒不同,允許空盒
(1)可以理解成情況五+附加條件
(2)由於每種球都有m種選擇,所以是n和m相乘,即m^n

T7

球同,盒同,允許空箱
dp[n][m]=dp[n][m-1]+dp[n-m][m], n>=m
dp[n][m]=dp[n][m-1], n<m
邊界dp[k][1]=1,dp[1][k]=1,dp[0][k]=1
轉移方程含義:
如果對m個盒子中,各放一個球,那么轉移到dp[n-m][m]
如果沒有采取該操作(至少有一個盒子沒有放一個球,也就是至少有一個空箱,那么這個箱子不能裝球,就可以排除掉),那么轉移到dp[n][m-1]

T8

球同,盒同,無空箱
只需要求第七種情況中的dp[n-m][m]即可,n>=m
0,n<m

圓排列:
定義:指從n個不同元素中取出m(1≤m≤n)個不同的元素排列成一個環形,既無頭也無尾。
兩個循環排列相同當且僅當所取元素的個數相同並且元素取法一致,在環上的排列順序一致。
可以理解成,不分頭尾的一種直線排列組合,即123,231,312這三種圓排列是相同的。
計算方法:
圓排列實際是將多種直線排列都視為一致,所以
(1)m個不同元素的直線排列方式,有m!種,則其圓排列有m!/m=(m-1)!種。
(2)從n個不同元素中,選出m個,其圓排列有C(m,n)*(m-1)!=A(m,n)/m種


免責聲明!

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



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