讨论区题解欢迎举报。
- 第一步肯定要把序列倒过来。
- 然后统计出每一种
popcount 的值,这个是一个典中典的数位 DP(上绿)。
- 接着就是一个与数位 DP 毫不相关的一个计数,大概就是生成一个序列 B,要求 Bi≥Bi+1 然后给定的条件也满足(上绿),贡献是一个神秘组合数相乘。
- 这个东西不难有一个 O((nV)2) 的做法,经过前缀和优化即可通过本题(中绿)。
据说有一个 CSP-S 272 的人只用了 1h 就做出来了。
综合,代码难度是上位绿,思维难度也大概是下位蓝的样子,是一个在蓝绿界限的题目。
最后吐槽一下这个数位 DP 题目并不纯。