P2824 排序(二分答案)
题目简述
给出一个 \(1\) 到 \(n\) 的排列,现在对这个排列序列进行 \(m\) 次局部排序,排序分为两种:
0 l r
表示将区间 \([l,r]\) 的数字升序排序1 l r
表示将区间 \([l,r]\) 的数字降序排序
这里是对下标在区间 \([l,r]\) 内的数排序。
最后询问第 \(q\) 位置上的数字。
分析 & 性质
-
申必题,01串可以找出一些性质,所以可以做。
-
对于01序列可以在 $O(n\log{n}) $完场排序,对于最后的结果,具有单调性。相当于寻找一个值 \(k\) ,在最终的结果中在 \(d\) 位置出现,并且小于 \(k\) 的数不出现。
-
还有同样一题,在上一层为下层相邻三个数的中位数,求最上面的数。这题也是二分答案加上01串的特殊性质,仔细观察可以发现俩性质: 相邻三个数,上传出现两个相同的;对于连续的一段;两个相邻的相同数,会
你踩我我踩你一直上传;所以可发现:一段连续段至少会上传到这一段的顶部,所以对于位于中间的连续段,一定是这个数,当中间没有连续段时(这里说的比较笼统,界定一下就是01交错,这种序列上传之后还是01交错,并且会与旁边形成连续段)一定会上传一个离中心较近的数。同样做法,二分答案即可
最终思路
- 同上,使用线段树维护即可