给定元素列表,请找到数组中连续元素的绝对差的最大和

时间:2019-05-19 08:47:19

标签: data-structures segment-tree lazy-propagation

最初,您有一个没有任何点的数组,您需要执行三种类型的查询:

1 x-添加一个具有整数坐标x的点。确保在运行此查询之前没有此类问题。

2 x-删除具有x整数坐标的点。在运行此查询之前,确保存在此点。

3 x-找出与第一个元素x相邻的数组元素的绝对差的最大和。 x已存在于数组中。

请记住,您可以对数组进行置换以计算最大和。

输入

输入的第一行包含一个整数q-查询数。

然后跟随q行。这些行的第i个包含两个整数t和x。

输出

对于第三种类型的每个查询,请打印最大值。

示例输入:

7
1 0
1 5
1 4
1 3
3 4
2 5
3 4

输出:

11(sequence will be 4,0,5,3)
7(sequence will be 4,0,3) 

4是两个类型3的查询的起始元素。

我尝试了蛮力方法,但是没有任何效果。您能为我建议每个查询O(logn)时间解决方案吗?

0 个答案:

没有答案