P4389 付公主的背包

答案显然是

\[\prod_{j=1}^n\sum_{i\geq 0} [i\%v_j=0] x^{i} \]

  • 对于后面这个东西,可以收敛成 \(\frac{1}{1-x^{v_i}}\)

  • 那么答案就是 \(\exp(\ln(\prod_{j=1}^n \frac{1}{1-x^{v_i}}))\)

  • 所以我们要快速求出关于 \(\ln(\frac{1}{1-x^{v_i}})\) 生成函数的每一项系数,最后再一起 \(\exp\)

  • 事实上 \(\ln(1-x)=-\sum_{i>0} \frac{x^i}{i}\) ,那么记录一下每种体积的物品的个数,然后暴力的加系数,复杂度是 \(O(n\log n)\) 的调和级数

  • 总的复杂度仍然是 \(O(n\log n )\)

posted @ 2022-06-28 14:13  Kzos_017  阅读(21)  评论(0编辑  收藏  举报