题目:
题目大意:首先说明一个性质,A 表示一个数组,B(A)表示把这段数组进行一遍冒泡排序的下沉操作,就是把大数沉底。然后题目给我们一个长度为n的数组,给我们q个询问,每个询问包含一个l,r 问我们将[l,r]区间内的数变成具有上述性质的区间至少需要几步操作,每次操作如下:选取一段区间,可以将区间的第一个数字放到这段区间的最后或者是将区间的最后一个数放到区间首部。
题解思路:
- 读题很关键,一定要耐心读题
- 朴素的可以想到 O(n)的 解法, 通过单调zai 预处理把每一个位置后面第一个比他大的位置前面一位给记录下来, O(n)的暴力做
- 这个过程可以用倍增的思想优化, f[i][j] 表示 位置 i 后面 的 2^j 个 需要操作的点的最后所占据的范围
- 利用跳跳的思想,给他跳过去
标签:Sort,杭电多校,题目,zai,数组,区间,倍增,单调 From: https://www.cnblogs.com/Lamboofhome/p/16650279.html