(題目來自朱全民老師ppt)
題目如下(樣例: n=3 m=2)
a 給定n個不同的球,放進m個不同的盒子,盒子允許為空,有多少種方案? 樣例輸出:8
b 給定n個不同的球,放進m個不同的盒子,盒子不允許為空,有多少種方案? 樣例輸出:6
c 給定n個不同的球,放進m個相同的盒子,盒子允許為空,有多少種方案? 樣例輸出:4
d 給定n個不同的球,放進m個相同的盒子,盒子不允許為空,有多少種方案? 樣例輸出:3
e 給定n個相同的球,放進m個不同的盒子,盒子允許為空,有多少種方案? 樣例輸出:4
f 給定n個相同的球,放進m個不同的盒子,盒子不允許為空,有多少種方案? 樣例輸出:2
g 給定n個相同的球,放進m個相同的盒子,盒子允許為空,有多少種方案? 樣例輸出:2
h 給定n個相同的球,放進m個相同的盒子,盒子不允許為空,有多少種方案? 樣例輸出:1
因為題目順序有點畸形,按照正常人的思維,如下做題順序較優:
a f e g h d c b
分別辨析。
a 給定n個不同的球,放進m個不同的盒子,盒子允許為空,有多少種方案?
[分析] 每個球都可以放在任意個盒子中。
[答案] m^n
f 給定n個相同的球,放進m個不同的盒子,盒子不允許為空,有多少種方案?
[分析] 題目轉化為,將n個球放在一排,在它們之間n-1個空隙選m-1個插棍子將小球分為m部分,將每部分放進盒中,問有幾種分法。
[答案]
e 給定n個相同的球,放進m個不同的盒子,盒子允許為空,有多少種方案?
[分析] 與上題類似,但有盒子可以為空,這就意味著兩根棍子可以在同一縫隙。將問題轉化,先在每個盒子放乙個球再來放剩下n個球,與上題類似,將n+m個球放在一排,在它們之間n-+m-1個空隙選m-1個插棍子將小球分為m部分。這樣使得棍子不重合。
[答案]
g 給定n個相同的球,放進m個相同的盒子,盒子允許為空,有多少種方案?
[分析] 設答案為f[n][m],數值等於有空盒子的情況(f[n][m-1],n個球放在m-1個盒子裡)加上沒空盒子的情況(f[m-n][m],每個盒子放乙個球,剩下m-n個球隨便放)。
[遞推式] f[n][m]=f[n][m-1]+f[m-n][m]
[邊界條件] f[i][j]=1 (i=0 || m=1) , f[i][j]=f[i][i] (j>i)
h 給定n個相同的球,放進m個相同的盒子,盒子不允許為空,有多少種方案?
[分析] 先每個盒放乙個球,再如g.
[答案] 0(m>n),f[n-m][m] (n>=m,f同g中的f)
d 給定n個不同的球,放進m個相同的盒子,盒子不允許為空,有多少種方案?
[分析] 設答案為f[n][m],答案為1*f[n-1][m-1] (第n個球放在第m個盒子,其餘的放在其餘的格仔)+m*f[n-1][m] (第n個球任意放,乘上n-1個球放在m個盒子中的方案數),這樣能保證一定沒有空盒子。
[遞推式] f[n][m]=f[n-1][m-1]+m*f[n-1][m]
[邊界條件] f[i][j]=1(i=j || j=1), 0(j>i)
c 給定n個不同的球,放進m個相同的盒子,盒子允許為空,有多少種方案?
[分析] 與d有聯絡,為n個盒子放在1~m個盒子的方案數的總和
[答案]
b 給定n個不同的球,放進m個不同的盒子,盒子不允許為空,有多少種方案?
[分析] 與d有聯絡,為n個盒子放在1~m個盒子的方案數的總和成上m個盒子的排列總數
[答案]
–by foggy
2015.6.21組合數學經典八題
組合數學 求組合數
對於求組合數,要根據所給資料範圍來選擇合適的演算法 這道題中所給的資料範圍適合用打表的方法直接暴力求解 先用4e6的複雜度預處理出所有的情況,再用1e4的複雜度完成詢問即可 include using namespace std const int n 2010 const int mod 1e9 ...
數學 組合數學
mod must be a prime const int mod 1e9 7 namespace combinatory ll inv ll x ll fac maxn invfac maxn void initc int n ll a ll n,ll m ll c ll n,ll m ll d ...
組合數學之排列組合若干題
poj1833 題目連線 題意 中文題目題意不多說,只是用到了stl裡面的next permutation 函式 next permutation op1,op2 最後乙個排列時返回null include include include include include includeusing n...