[XXII Open Cup, Grand Prix of Korea M]Yet Another Range Query Problem
Yet Another Range Query Problem
题解
首先,看到这道题,我们应该是比较容易联想到扫描线加线段树的。
我们考虑维护每个点作为左端点到当前扫到的这个点作为右端点之间区间的信息。
显然,我们每次多在末尾加入一个数,只会改变一段连续区间的最小值与一段连续区间的最大值。
这个显然可以用栈维护,找到它会改变的是哪一段,显然,如果一个数能覆盖上一个数,那他肯定是能覆盖上一个数覆盖的所有数的。所以这部分是 O ( n ) O\left(n\right) O

浙公网安备 33010602011771号