P4389 付公主的背包(生成函数/多项式)
生活随笔
收集整理的這篇文章主要介紹了
P4389 付公主的背包(生成函数/多项式)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
P4389 付公主的背包
https://www.luogu.com.cn/problem/solution/P4389
經典生成函數問題
求解無限背包問題,我們可以將每個物品看作一個多項式,那么最后的結果就是這些多項式的卷積的系數,然后我們實際上就可以考慮分治NTT了,但是這樣做的復雜度是O(nlog2n)O(nlog^2n)O(nlog2n),實際上我們有更好的方法。
因為多項式乘法很慢但是加法很快,所以我們考慮對他們取ln,然后轉化為加法,但是直接做ln還是很慢,但是這個式子比較特殊我們考慮推出它的ln,可以發現這個東西的生成函數就是11?xV\frac{1}{1-x^V}1?xV1?求ln等價于求ln(1?xV)ln(1-x^V)ln(1?xV)然后考慮求導
這個推導方法很巧妙,將先利用生成函數運算,然后再展開為冪級數,得到我們需要的結果。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的P4389 付公主的背包(生成函数/多项式)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: P5488 差分与前缀和(多项式/生成函
- 下一篇: 喝中药可以减肥吗