3689
感觉应该要用线段树
线段树维护的就是它定义的值
但问题是如果是线段树,查找这个值的最大值不一定好找,因为可能涉及到跨左右区间,但并不知道左右边界的值
如果说朴素的话,就是找到最小值的下标i和最大值的下标j,然后值的最大值就是max-min,要找k个
那最小的区间就是i和j组成的,之后就是不断往外扩1,扩k次
如果不够k次,或者一开始就是最大的区间,那就要去寻找第二大或第二小的数,重新组成一个区间,然后循环,直到k耗尽
但这个循环的过程中,无法保证扩不到重复的区间
如何做?
感觉应该要用线段树
线段树维护的就是它定义的值
但问题是如果是线段树,查找这个值的最大值不一定好找,因为可能涉及到跨左右区间,但并不知道左右边界的值
如果说朴素的话,就是找到最小值的下标i和最大值的下标j,然后值的最大值就是max-min,要找k个
那最小的区间就是i和j组成的,之后就是不断往外扩1,扩k次
如果不够k次,或者一开始就是最大的区间,那就要去寻找第二大或第二小的数,重新组成一个区间,然后循环,直到k耗尽
但这个循环的过程中,无法保证扩不到重复的区间
如何做?