經典生成函式問題
求解無限揹包問題,我們可以將每個物品看作乙個多項式,那麼最後的結果就是這些多項式的卷積的係數,然後我們實際上就可以考慮分治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 ...