SDNUOJ1011 斯特靈數)

2021-07-12 06:03:55 字數 968 閱讀 3164

stirling數的第er類應用

有關斯特靈數的知識可以看看維基百科

stirling數兩大應用

1. 第一類stirling數是有正負的,其絕對值是n個元素的專案分作k個環排列的方法數目。常用的表示方法有s(n,k) ,換個較生活化的說法,就是有n個人分成k組,每組內再按特定順序圍圈的分組方法的數目。

2. 第二類stirling數是n個元素的集定義k個等價類的方法數目。常用的表示方法有s(n,k) , 換個較生活化的說法,就是有n個人分成k組的分組方法的數目。

遞推公式:

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

遞推公式為,   

1.s(n,0) = 0, s(1,1) = 1.;(結束條件) 

2.s(n+1,k) = s(n,k-1) + ns(n,k)。

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

遞推公式為:  

1.s(n,k)=0

s(n,n) = s(n,1) = 1;(結束條件)

2.s(n,k) = s(n-1,k-1) + ks(n-1,k).

注意不dan球不同,盒子也不同,需將盒子排列;

題目**(打表)

#include

#include

#include

using namespace std;

int main()

for(int i=1;i<=10;i++)

for(int j=2;j<=10;j++)

if(i>j)

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

while(scanf("%d

%d",&n,&k)!=eof)

return

0;}

斯特靈(Stirling)數

遞推式 s n 1,k s n,k 1 n s n,k 解釋 考慮第n 1個元素 1 單獨形成迴圈排列,剩下的有s n,k 1 種方法 2 和別的元素一起形成迴圈排列,n個元素形成迴圈排列的方法數是s n,k 第n 1個可以放在第i個元素左邊,共有n種放法,一共是n s n,k include in...

斯特靈數 stiriling

第一類stiriling數 先給出定義 s n,k 個元素的專案分作 個環排列 的方法數目 此時我們就可以忽略排列的開始元素 舉個例子 遞推公式為 s n,k n 1 s n 1,k s n 1,k 1 解釋 當我們考慮到第n個物品的時候 1.將第n個物品單獨放置 s n 1,k 1 2.將第n個物...

斯特靈數stirling

count the buildings 不管是從左邊看還是從右邊看,視線總是會被中間最高的給擋住 所以我們把左邊和右邊分組來看。對於某一邊,我們確定出能夠看見的樓房,那麼不能夠看見的樓房就可以任意排列 我們把能看見的樓房,與下乙個能看到的樓房 不包括下乙個樓房 之間的樓看為一組 可以考慮現將最高的拿...