Make10Again

[ABC310F] Make 10 Again

考虑到我们只需要维护 \(0\sim10\) 内的集合,我们直接令 \(f_{i,j}\) 表示已经弄了前 \(i\) 个数,通过子集可拼接出的数集为 \(j\) 的答案。

如果现在新加入的数是 \(\le 10\),那么可以让所有的子集增加这个数/不变两种情况取并,然后再与 \(\{0,1,2,\dots,10\}\) 集合取交即可。

如果 \(>10\),子集不变,可以当作一类计算贡献。

复杂度 \(O(10n2^{10})\)

AC

posted @ 2023-07-21 14:53  wscqwq  阅读(12)  评论(0编辑  收藏  举报