专栏文章
题解:AT_arc150_f [ARC150F] Constant Sum Subsequence
AT_arc150_f题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mio3b5ua
- 此快照首次捕获于
- 2025/12/02 12:40 3 个月前
- 此快照最后确认于
- 2025/12/02 12:40 3 个月前
[ARC150F] Constant Sum Subsequence
神奇分治题。
设 表示任意总和为 的序列都被表达出来的所需要的最短前缀是多少,设 表示第 个位置后面第一个为 在那个位置,有转移:
这个转移看上去就很鬼畜,不太好优化,考虑分治。
对于一个区间 ,我们考虑 中的数对 中的数的贡献,但受限于这个需要记录两个东西的 ,我们还是不好做。
注意到分治过程中区间长度的总和是 的,而转移中 的第二维在分治过程中每一次只有区间长度种,所以可以考虑枚举第二维。
接下来考虑找一些性质。
结论 : 对于所有的 满足 ,如果 ,那么一定有 。
证明:
首先 一定是小于 的,而如果存在 ,就代表第 个位置的值是 ,那么 就会是 ,违背了最初的条件。
结论 :如果 ,那么我们不需要考虑 对 中的 值的影响。
证明:
首先 是有单调性的,所以 。
根据结论 我们可以得到 ,而根据定义对于任意的 , ,所以说 在这种情况下一定不如 。
考虑对于一个 有哪些 是必要的。由于 ,所以实际上是有一段区间会对后面进行转移。我们可以找到 前面的第一个 在哪里,设为 ,那么对于 的 都是有意义的。
于是我们要做的事情就变成了每次对一个区间取 ,用线段树维护即可,时间复杂度 。
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...