P4491 [HAOI2018] 染色 题解
P4491 [HAOI2018] 染色 题解
考虑设 \(h_k\) 表示钦定出现 \(S\) 次的颜色有 \(k\) 种,\(a_k\) 表示出现 \(S\) 次的颜色恰好有 \(k\) 种。
那么答案为 \(\sum_{i=0}^mw_ia_i\)
则 \(h_k=\sum_{j=k}^m{j\choose k}a_j\)
反演得 \(a_k=\sum_{j=k}^m(-1)^{j-k}{j\choose k}h_j\)。
分析意义得到 \(h_k={n\choose ks}\frac{(ks)!}{(s!)^k}(m-k)^{n-ks}{m\choose k}\)
带入答案得到:
\[\begin{aligned}
ans&=\sum_{k=0}^mw_k\sum_{j=k}^m(-1)^{j-k}{j\choose k}{n\choose js}\frac{(js)!}{(s!)^j}(m-j)^{n-js}{m\choose j}\\
&=n!m!\sum_{j=0}^m\frac{(m-j)^{n-js}}{(n-js)!(s!)^j(m-j)!}\sum_{k=0}^j\frac{w_k}{k!}\frac{(-1)^{j-k}}{(j-k)!}
\end{aligned}
\]
而后面得式子就是卷积,所以 \(\mathcal O(n+m\log m)\) 解决。

浙公网安备 33010602011771号