第二類斯特林數
例題:
給定n 個有標號的球,標號依次為1,2,…,n。將這n個球放入r 個相同的盒子裡,不允許有空盒,問有多少種放置方法。
例如把4個球放入2個盒子有7種方法,這7 種不同的放置方法依次為:
, ,
, ,
, ,。
我們設乙個狀態:f[i][j] 代表把i個球放入j個盒子裡(盒子不空)的總計方案數,那麼,對於每乙個球,我們都有兩種情況:
1.新開乙個盒子 那麼f[i][j]=f[i-1][j-1]
2.不新開乙個盒子 那麼可以把他放入每乙個盒子中,所以f[i][j]=f[i-1][j]*j
所以轉移方程為f[i][j]=f[i-1][j]*j+f[i-1][j-1];
所以沒了,f[n][r] 即為所求
注意邊界條件 f[i][i]=1; f[i][0]=0;
#include
#include
using
namespace
std;
int n,r;
long
long f[50][50];//把i個蛋放入j個框中的方案數
int main()
for(int i=2;i<=n;i++)
} cout
0;}
第二類斯特靈數
hdu 2643 最近在teddy的家鄉舉辦了一場名為 cow year blow cow 的比賽.n競爭對手參加了比賽。比賽非常緊張,排名正在發生變化。現在的問題是 競爭者可以在競爭中排名多少種不同的方式,從而允許聯絡的可能性。因為答案非常大,你可以輸出答案mod 20090126.以下是n 2時...
遞迴問題之第二類Stirling數放蘋果問題
其不同的方案數用s n,m 表示,稱為第二類stirling數。下面就讓我們根據定義來推導帶兩個引數的遞推關係 第二類stirling數。解 設有n個不同的球,分別用b1,b2,bn表示。從中取出乙個球bn,bn的放法有以下兩種 bn獨自佔乙個盒子 那麼剩下的球只能放在m 1個盒子中,方案數為s2 ...
SDNU 1011(第二類stirling數)
time limit 1000 ms memory limit 32768 kb total submission s 667 accepted submission s 165 現有r個互不相同的盒子和n個互不相同的球,要將這n個球放入r個盒子中,且不允許有空盒子。則有多少種放法?n,r 0 n,...