整体二分总结
前言
通常与\(cdq\)分治同类谈论,处理的问题性质本质上有不同
简介
整体二分,显然整体(同时)处理多个二分查询,通常带有修改,我们需要分治处理
经典应用(静态\(K\)小值)
\(Solve(l,r,L,R)\)为操作\([L,R]\)中答案均在\([l,r]\)区间内
我们是分治处理\([l,mid]\)
操作的前\(n\)个为添加操作(静态数组)
扫一遍操作,添加操作时把\(val≤mid\)的在\(id\)添加\(1\);查询时查询\([l,r]\)的\(1\)的个数:\(≤k\)则放到左边,否则在右边
经典应用(动态\(K\)小值)
我们在操作里添加重置操作(删除原值,加入新值)
考虑是如何解决的:我们的添加和扫描是有先后顺序的,在重置前的查询和原来一样
一到重置操作,把之前的位置减掉,如何新数满足值域再加进来