传送门:点击打开链接
题意:一个n的排列,然后执行Q次操作,每次操作是对某个区间从小到大排序或者是从大到小排序。最后只查询一次,输出第k个位置当前的数。
思路:这道题最特别的地方,就是,只查询了1次,因为这个特点也让这道题有了不同寻常的解法。
我们可以直接二分第k个位置的数的大小记为m,然后给初始序列处理一下,把小于等于m的记为0,大于m的记为1
之后的排序操作就非常简单了,只需要区间修改,区间查询,就能完成了,就是把区间里面所有的1移动到最前面或者是最后面。
因为假如我枚举了m后,其他数字的状态就瞬间减少了,只有比m小,比m大这两种概念了!
#include