Stirling數 組合數學

2021-07-11 08:57:33 字數 886 閱讀 9177

stirling數可以指兩類數,

第一類數是有正負的,其絕對值是包含n個元素的集合分作k個環排列的方法數目;

第二類數是把包含n個元素的集合劃分為正好k個非空子集的方法的數目。

下面分別介紹這兩類stirling數的遞推公式。

第一類。

s(n,0)=0

s(1,1)=1

s(n+1,k)=s(n,k-1)+n*s(n,k)

第二類。

s(n,k)=0,其中n

s(n,n)=s(n,1)

=1s(n,k)=s(n-1,k-1)+k*s(n-1,k)

①傳送門: 山東省第五屆acm大學生程式設計競賽-hearthstone ii

②將n個不同的球放入k個相同的盒子中,有多少種方案?

這就是第二類stirling數。

for(i=2; i<=n; i++)

for(j=1; j<=i; j++)

s[i][j]=s[i-1][j-1]+j*s[i-1][j];

long long ans=s[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個不同的球編號為n1~nn

①nn單獨放在乙個盒子中,那麼剩下的n1~nn-1個球只能放在剩下的(k-1)個盒子中,方案數為s(n-1,k-1)

;②nn不單獨放在乙個盒子中,那麼可以先將n1~nn-1個球

放在k個盒子中,nn放入其中任意乙個盒子中,方案數為k*s(n-1,k)

陣列(組合數學)

fabdec 有 個長度為 n 的陣列 a 下標 1 n 初始時都是 0。fabdec 隨機了 個 1 到 n 的隨機數 x,並且把 a x fabdec 重複了 m 次這樣的操作,然後數了 下陣列 共有 k 個位置 為奇數。fabdec 現在想問執 m 次操作,總共能 成多少種不同的陣列使得恰 好...

組合數學 求組合數

對於求組合數,要根據所給資料範圍來選擇合適的演算法 這道題中所給的資料範圍適合用打表的方法直接暴力求解 先用4e6的複雜度預處理出所有的情況,再用1e4的複雜度完成詢問即可 include using namespace std const int n 2010 const int mod 1e9 ...

計數 組合數學總結

本文持續更新 對計數,組合數學dp作總結,給出思路,狀態轉移方程,略去 狀態初始值等。1 劃分數 1 m個不可區分的物品分成n份,每份的數量大於等於0,求劃分的方法數。思路 1 若m n,則等價於m個物品劃分為m份。2 否則,若至少存在1份數量為0,則相當於m個物品劃分為n 1份 若每份數量大於等於...