P4389 付公主的揹包(生成函式 多項式)

2021-10-18 19:29:44 字數 463 閱讀 1487

經典生成函式問題

求解無限揹包問題,我們可以將每個物品看作乙個多項式,那麼最後的結果就是這些多項式的卷積的係數,然後我們實際上就可以考慮分治ntt了,但是這樣做的複雜度是o(n

log2

n)o(nlog^2n)

o(nlog

2n),實際上我們有更好的方法。

因為多項式乘法很慢但是加法很快,所以我們考慮對他們取ln,然後轉化為加法,但是直接做ln還是很慢,但是這個式子比較特殊我們考慮推出它的ln,可以發現這個東西的生成函式就是11−

xv\frac

1−xv1​

求ln等價於求ln(

1−xv

)ln(1-x^v)

ln(1−x

v)然後考慮求導

生成函式 洛谷P4389 付公主的揹包

考慮生成函式 每乙個物品的生成函式 begina x sum x frac end 後面為其封閉形式 答案 begin zeta x prod n sum x end 時間複雜度 theta nm log m 會 tle 把每乙個物品的生成函式都卷起來時間複雜度吃不消 但是加起來是可以的。考慮給 a...

洛谷P4389 付公主的揹包

傳送門 有 n 類物品,每種物品體積為 v i 且都有無數多件。問你塞滿容量為 s 的揹包方案數,對於每個 s in 1,m m 給定且 leq 10 5 都求出方案數。答案對 998244353 取模。30 的資料,n,m leq 3000 60 的資料,純隨機生成 100 的資料,n,m leq...

洛谷P4389 付公主的揹包

題目大意 有 n n leqslant10 5 種物品,第 i 個物品體積為 v i 都有 10 5 件。給定 m m leqslant10 5 對於 s in 1,m 請你回答用這些商品恰好裝 s 體積的方案數 題解 by weng weijie 揹包問題模板 誤 對每個物品構造生成函式 f x ...