题目描述
给定一个长度为
n
的序列
有 m 个操作,包括以下三种。
- 输出
ai - 使
[l,r)
这一段变成
v
,这里保证
v 不是 42 的幂 - 将
[l,r)
这一段不断加
v
使得
∀i∈[l,r),k∈N∗,ai≠42k n,m≤105
分析
假如没有第二种操作,那么就直接暴力用线段树做就可以了。
假如有第二种操作,那么就在一段打相同 tag 的地方同时做就可以了。时间复杂度 O(mlognlog42)
- 使
[l,r)
这一段变成
v
,这里保证