1 条题解
-
0
题解
思路
只关注操作后真正改变的位置。
做法
设 表示最后一个改变的位置是 ,且该位置相对原值增加了非零量 的不同结果数。第一个改变位置 的增量,只可能是它之前某个被选中的非零原值;相同数值造成相同结果,因此对前缀出现过的不同非零值各加入一次。
若状态 中选中元素后的前缀和 非零,那么任意后续位置 被选中时都会改变,且增量唯一为 。若 ,则可在 与下一改变位置 之间先选择一个非零元素而不改变它,随后 的增量等于这个元素的原值;仍只需枚举区间内出现过的不同非零值。原序列本身始终可由只选一个位置得到,所以答案为 。
复杂度
增量范围不超过 ,按上述转移实现即可;时间复杂度 ,空间复杂度 。
- 1
信息
- ID
- 1560
- 时间
- 2000ms
- 内存
- 1024MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者