题解 P5278

注意到我们可以很轻松的维护序列的最大值和最小值,同时我们知道序列的长度。故我们可以轻松的得到目标等差序列。

现在的难点在于,目前区间里的数是否可以排序为这个等差序列。

哈希?

我们有三种哈希方法:

  1. 序列哈希 \(f(x)=a_x+f(x-1)*base \pmod p\)
  2. 指数哈希 \(f(x)=2^x \pmod p\)
  3. 随机数异或哈希

我们需要对一个等差序列(有数学规律的)和一个集合进行hash,同时,要满足集合hash可以在树上预处理和合并,同时要快速计算等差数列的哈希。

易得:只有指数哈希满足要求。

别忘了判断一下区间内部是否有数字重复!

end。

posted @ 2026-08-01 15:28  txp2025  阅读(2)  评论(0)    收藏  举报