题意
有 m m m种物品,第 i i i种物品的大小是 a i a_i ai,数量是 b i b_i bi,其中 b i = 0 b_i=0 bi=0表示数量无限。问对于大小在 [ 1 , n ] [1,n] [1,n]之间的每个背包,把背包装满的方案。
n , m ≤ 1 0 5 n,m\le10^5 n,m≤105
分析
如果物品无限的话生成函数就是 1 1 − x a i \frac{1}{1-x^{a_i}} 1−xai1
否则为 1 − x a i ( b i + 1 ) 1 − x a i \frac{1-x^{a_i(b_i+1)}}{1-x^{a_i}} 1−xai1−xai(bi+1)
所以答案的生成函数就是 ∏ i = 1 m 1 − x a i ( b i + 1 ) 1 − x a i \prod_{i=1}^m\frac{1-x^{a_i(b_i+1)}}{1-x^{a_i}} i=1∏m<