「题解」ABC241Ex Card Deck Score
没有 \(b_i\) 怎么做?
答案是 \([x^m]\prod\frac{1}{1-a_ix}\),我们知道它可以分解为 \(\sum\frac{R_i}{1-a_ix}\),其中 \(R_i\) 是一个常数。具体构造就是上面 EI 的 blog,和中国剩余定理极其类似。
那么 \(R_i=\frac{1-a_ix}{\prod_j(1-a_jx)}\bmod (1-a_ix)\),将 \(x=\frac{1}{a_i}\)(使得后面模掉的多项式值为 \(0\) 的 \(x\))代入到 \(\frac{1-a_ix}{\prod_j(1-a_jx)}\) 就是 \(R_i\)(感谢 vuq 里 crashed 的教导 /kel)
求出 \(R_i\) 之后 \([x^m]\frac{R_i}{1-a_ix}=\sum R_i{a_i}^m\) 便可用快速幂算出。
现在没有 \(b_i\) 的限制时我们会 \(\mathcal{O}(n^2)\) 计算了。
如果有 \(b_i\) 的限制,暴力容斥一个集合 \(S\) 内的 \(b_i\) 是爆的,然后 \(\mathcal{O}(n^2)\) 计算,就是 \(\mathcal{O}(2^nn^2)\) 的复杂度。这里也可以理解为将答案 \([x^m]\prod\frac{1-{a_i}^{b[i]+1}x^{b[i]+1}}{1-a_ix}\) 这个多项式的分子暴力展开再对每一项单独计算。