题解 P5278
注意到我们可以很轻松的维护序列的最大值和最小值,同时我们知道序列的长度。故我们可以轻松的得到目标等差序列。
现在的难点在于,目前区间里的数是否可以排序为这个等差序列。
哈希?
我们有三种哈希方法:
- 序列哈希 \(f(x)=a_x+f(x-1)*base \pmod p\)
- 指数哈希 \(f(x)=2^x \pmod p\)
- 随机数异或哈希
我们需要对一个等差序列(有数学规律的)和一个集合进行hash,同时,要满足集合hash可以在树上预处理和合并,同时要快速计算等差数列的哈希。
易得:只有指数哈希满足要求。
别忘了判断一下区间内部是否有数字重复!
end。

浙公网安备 33010602011771号