标签:问题 端点 条件 左右 个数 处理 压缩 bsp 区间
ve傻逼get到的高端套路操作。
由于本人只会暴力,所以可能一些各位看起来傻逼的操作我觉得也挺高端的。
没有办法,本人实力菜鸡。
题目:给出一个序列,给出m对左右端点,询问这m个区间的最大值。
题解:用单调栈维护每个数左边第一个比它大的数,询问一个区间 [l,r] 的时候,找到比 r 大的数中位置不在l之前的。将每个数之前第一个比它大的数建为一棵树,按照区间询问的左端点排序,进行路径压缩。
题目:给定一个正整数序列,求出所有子区间中第k小。
题解:数组的值均为正整数,想到二分总值。子区间的和,我们当然用前缀和优化
题目:给定一个序列,求环形最大子段和。
题解:处理环形问题,一般在后面复制一遍原序列。然后跟上一题一样写吗。。。本题条件序列不一定为正整数哇。套用上一题失效。其实只要做一遍最大子段和和最小子段和,并且保证最大最小子段的左右端点不包含且不相交即可。答案为最大子段和减去最小子段和。
标签:问题 端点 条件 左右 个数 处理 压缩 bsp 区间
原文地址:https://www.cnblogs.com/ve-2021/p/9918263.html