盒子與球
(斯特靈數):
在組合數學,stirling數可指兩類數,都是由18世紀數學家james stirling提出的。
stirling
數有兩種,第一類和第二類
stirling
數,它們自
18世紀以來一直吸引許多數學家的興趣,如尤拉、柯西、西爾沃斯特和凱萊等。後來哥本哈根(
copenhagen
)大學的尼爾森(
niels nielsen
,1865-1931
)提出了
"stirlingschen zahlen erster art" [
第一類stirling數]
和"stirlingschen zahlen zweiter art" [
第二類stirling數]
,首次把這兩類數冠以「
stirling
數」之名
。因為蘇格蘭數學家斯特林(
j. stirling, 1692-1770
)首次發現這些數並說明了它們的重要性。
斯特林在解決降階乘積x(
n)=x (x
–1)( x–2)
…(x–n+1)
問題時發現了這些數,他在一篇文章
中列出了下面的式子:
x2 = x(x
-1) + x
x3 = x(x
-1)(x
-2) +3x(x
-1) + x
x4 = x(x
-1)(x
-2)(x
-3) + 6x(x
-1)(x
-2) + 7x(x
-1) + x
…… … …
上式中各多項式的係數即是第二類
stirling
數,它可以用乙個三角數陣的形式表示(表
4.2)。第二類
stirling
數在組合分析與有限差分中有重要的應用。
第二類stirling
數與冪和問題有著密切的聯絡,其另一種形式出現在關於冪和問題的研究中。這是因為如果把
(ex-
1)n展開為
x的冪級數形式,第二類
stirling
數將作為
x冪的係數的因子出現。
philadephia
的《級數運算導引》(
introduction to operation with series
,1924
)中給出了該數在冪和問題中出現的例子
(該書的第
88頁)。
中國傳統數學中的垛積招差術是研究一些計數函式的有效方法。李善蘭《垛積比類》卷
一、二中的「三角垛有積求高開方廉隅表」和「乘方垛各廉表」列出了兩組係數(如表
4.3)。李善蘭的「造表法」相當於給出了第一類
stirling
數和euler
數遞迴定義。
第一類stirling數是有正負的,其絕對值是包含n個元素的集合分作k個環排列的方法數目。
遞推公式為,
s(n,0) = 0, s(1,1) = 1.
s(n+1,k) = s(n,k-1) + ns(n,k)。
第二類stirling數是把包含n個元素的集合劃分為正好k個非空子集的方法的數目。
遞推公式為:
s(n,k)=0; (n
s(n,n) = s(n,1) = 1,
s(n,k) = s(n-1,k-1) + ks(n-1,k).
將n個有區別的球的球放入k個無標號的盒子中( n>=k>=1,且盒子不允許為空)的方案數就是stirling數.(即含 n 個元素的集合劃分為 k 個集合的情況數)
遞推公式:
s(n,0) = 0
s(n,1) = 1 (k = 1)
s(n,n) = 1
s(n,k) = 0 (k > n)
s(n,k) = s(n-1,k-1)+k*s(n-1,k) (n >= k >= 2)
分析:設有n個不同的球,分別用b1,b2,...,bn表示。從中取出乙個球bn,bn的放法有以下兩種:
1.bn獨佔乙個盒子,那麼剩下的球只能放在k-1個盒子裡,方案數為s(n-1,k-1);
2.bn與別的球共佔乙個盒子,那麼可以將b1,b2,...,bn-1這n-1個球放入k個盒子裡,然後將bn放入其中乙個盒子中,方案數為k*s(n-1,k).
#include#include#include#include#includeusing namespace std;
long long fun(long long n,long long m)
{ if (m<=0||n>n>>m;
cout<
P1287 盒子與球
題目傳送門 我們考慮設 fi,jf fi,j 表示到第 i ii 個球放入 j jj 個盒子裡的方案數。考慮如何轉移,莫過於兩種情況 放入原有的盒子,重新開乙個盒子。對於第一種情況 fi,j fi 1,j j f f times j fi,j fi 1 j j 即在原有的箱子中選乙個 對於第二種情況...
P1287 盒子與球
miku 這是一道數學題,可以推式子 我推錯了 這是一道dp,完全沒想到它是。所以說我把我的錯誤式子縫縫補補,加上個dfs 過了。大體思想就是利用插板法求出每個盒子可以裝幾個球的方案,然後因為同乙個盒子內部的球是無序的,所以說用一點點排列的知識加上dfs的框架處理一下,然後就過了 include i...
P1287 盒子與球
現有 r個互不相同的盒子和 n個互不相同的球,要將這 n 個球放入 r個盒子中,且不允許有空盒子。請求出有多少種不同的放法。兩種放法不同當且僅當存在乙個球使得該球在兩種放法中放入了不同的盒子。輸入只有一行兩個整數,分別代表 n 和 r。輸出一行乙個整數代表答案。輸入 1複製 3 2 輸出 1複製 6...