HDU - 4248 A Famous Stone Collector(dp+组合数学)
生活随笔
收集整理的這篇文章主要介紹了
HDU - 4248 A Famous Stone Collector(dp+组合数学)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目鏈接:點(diǎn)擊查看
題目大意:給出 n 種不同種類的石子,每種石子的個(gè)數(shù)是 a[ i ] 個(gè),記 sum 為石子的總數(shù),問用 k ∈ [ 1 ,? sum ] 個(gè)石子組成的不同排列組合有多少種
題目分析:考慮 dp,dp[ i ][ j ] 代表的是到了第 i 堆為止,已經(jīng)選了 j 個(gè)石子的答案,那么轉(zhuǎn)移方程就是,dp[ i ][ j ] += dp[ i - 1 ][ j - k ] * C[ j ][ k ] ,理解起來(lái)也比較簡(jiǎn)單,k 的意思是從第 i 堆選擇了 k 個(gè)石子,當(dāng)從第 i 堆選擇了 k 個(gè)石子后,總共就選擇了 j 個(gè)石子,原本的 j - k 個(gè)石子的相對(duì)位置不變,新加入的石子需要從 j 個(gè)位置中選擇 k 個(gè)位置來(lái)放置,因?yàn)檫@ k 個(gè)石子都是種類一樣的,所以只需要選擇出位置就可以了
代碼:
?
?
總結(jié)
以上是生活随笔為你收集整理的HDU - 4248 A Famous Stone Collector(dp+组合数学)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ZOJ - 4122 Triangle
- 下一篇: HDU - 4253 Two Famou