新科技:整体二分
它能解决的典型问题:带修改区间第\(k\)大
大概的做法是这样的:我们一次二分一个值\(mid\),然后依据操作的答案与\(mid\)的大小关系把操作分别划到两边,然后递归下去。也就是相当于二分的是所有询问的答案
感觉其实这个跟在权值线段树上二分一个效果,只是用离线的方式替代掉了那一层权值线段树而已
计算可得复杂度为\(O(nlog^2n)\)(由主定理,\(T(n)=2T(n/2)+O(nlogn)=O(nlog^2n)\))
拿线段树或者树状数组维护都行
板子题是这一道K大数查询
直接上代码了,很好写,跟\(cdq\)分治写起来很像
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
Another One?
还有一道比较板的题 MET-Meteors,这题可能需要稍微卡卡常数才能过,直接把代码扔过来了
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include