题目:题目链接
题意:有编号从1到n的n个球和n个杯子. 每一个杯子里有一个球, 进行m次排序操作,每次操作给出l,r. 如果l
思路:
暴力复杂度为m*nlog(n), 不能暴力排序
二分答案, 对于当前mid, 我们将大于等于mid的数记为1, 否则记0, 则排序就是将某个区间的数改为1或0, 通过线段树区间更新可以方便的做到, 对排序后的结果查询判断二分区间应该取左还是取右, 若中间的数是1, 则说明答案大于等于当前的数, l右移, 否则左移
AC代码:
1 #include
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8 #include <string>
9 #include