【模板】第二类斯特林数Stirling
生活随笔
收集整理的這篇文章主要介紹了
【模板】第二类斯特林数Stirling
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
第二類(lèi)Stirling數(shù)實(shí)際上是集合的一個(gè)拆分,表示將n個(gè)不同的元素拆分成m個(gè)集合的方案數(shù),記為 或者 。
第二類(lèi)Stirling數(shù)的推導(dǎo)和第一類(lèi)Stirling數(shù)類(lèi)似,可以從定義出發(fā)考慮第n+1個(gè)元素的情況,假設(shè)要把n+1個(gè)元素分成m個(gè)集合則分析如下:
(1)如果n個(gè)元素構(gòu)成了m-1個(gè)集合,那么第n+1個(gè)元素單獨(dú)構(gòu)成一個(gè)集合。方案數(shù) 。
(2)如果n個(gè)元素已經(jīng)構(gòu)成了m個(gè)集合,將第n+1個(gè)元素插入到任意一個(gè)集合。方案數(shù) m*S(n,m) 。
綜合兩種情況得:
遞推式:dp[i][j] = dp[i-1][j-1]+j*dp[i-1][j];
模板代碼:
dp[0][0] = 1; for(int i = 1;i <= n; i++){ for(int j = 1;j <= i; j++){ dp[i][j] = dp[i-1][j-1]+j*dp[i-1][j]; } }總結(jié)
以上是生活随笔為你收集整理的【模板】第二类斯特林数Stirling的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【算法】划分数 动态规划
- 下一篇: 新疆大学(新大)OJ xju 1010: