P7967 题解

· · 题解

思路

dp。

先将所有磁铁按 r_i 从小到大排序,然后令 f_{i,j,k} 表示考虑了前 i 个磁铁,分为 j 组,占用的空位数为 k 的方案数。

那么我们有三个转移:

最后我们得到了所有磁铁分为 1 组长度为 i 的方案数,那么它对答案的贡献为 f_{n,1,i} \times \binom{l-i+n}{n}(根据插板法易得)。

那么这题就做完了,时间复杂度 O(n^2 \times l)

代码

code