Make10Again
[ABC310F] Make 10 Again
考虑到我们只需要维护 \(0\sim10\) 内的集合,我们直接令 \(f_{i,j}\) 表示已经弄了前 \(i\) 个数,通过子集可拼接出的数集为 \(j\) 的答案。
如果现在新加入的数是 \(\le 10\),那么可以让所有的子集增加这个数/不变两种情况取并,然后再与 \(\{0,1,2,\dots,10\}\) 集合取交即可。
如果 \(>10\),子集不变,可以当作一类计算贡献。
复杂度 \(O(10n2^{10})\)。