整体二分总结

前言

通常与\(cdq\)分治同类谈论,处理的问题性质本质上有不同

简介

整体二分,显然整体(同时)处理多个二分查询,通常带有修改,我们需要分治处理

经典应用(静态\(K\)小值)

\(Solve(l,r,L,R)\)为操作\([L,R]\)中答案均在\([l,r]\)区间内

我们是分治处理\([l,mid]\)

操作的前\(n\)个为添加操作(静态数组)
扫一遍操作,添加操作时把\(val≤mid\)的在\(id\)添加\(1\);查询时查询\([l,r]\)\(1\)的个数:\(≤k\)则放到左边,否则在右边

经典应用(动态\(K\)小值)

我们在操作里添加重置操作(删除原值,加入新值)

考虑是如何解决的:我们的添加和扫描是有先后顺序的,在重置前的查询和原来一样
一到重置操作,把之前的位置减掉,如何新数满足值域再加进来

posted @ 2019-06-25 11:34  y2823774827y  阅读(150)  评论(0编辑  收藏  举报