【GDOI 2016模擬3.16】圖計數

問題描述

n 的正整數拆分方案數爲fn ,求mfn(mod999999599)

n,m105


分析

首先一個很重要的地方就是冪應該要對φ(mod) 取模。

然後就是怎麼算正整數拆分。
其實這個本質上是一個完全揹包問題,其中物體的重量爲1n
考慮重量小於於n 的物體只有n 個,重量大於等於n 的物體只會選n 個。
那麼分開處理,然後合併揹包即可。

part1

fi,j 表示前i 個物體,已加入重量爲j ,簡單DP 即可。

part2

gi,j 表示已經加入了i 個物品,重量爲j
那麼這裏這樣子轉移。

gi,j=gi1,jn+gi,ji

其中加號以前表示加入一個重量爲n 的物體,以後的部分表示將之前加入的物體的重量全部加一。

剩下就是合併揹包了。

時間複雜度O(nn)
空間複雜度O(n)

發佈了114 篇原創文章 · 獲贊 4 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章