整体二分

整体二分也是一种非常妙的分治算法。

大致流程:

  • \(solve(l,r,x,y)\)表示\([x,y]\)这些询问,他们的答案范围在\([l,r]\)内,并设\(mid\)\([l,r]\)的中点

  • 我们先把\([l,mid]\)内的影响计算,再对每个询问:若此询问已经满足要求,则他们所属答案区间为\([l,mid]\),否则更新此询问,然后把它放进\([mid+1,r]\)

大致就是这个意思~

时间复杂度的保证多靠一些均摊,有的时候复杂度不一定对,所以看到一些题的时候应该事先分析好复杂度再使用整体二分。

例题:

  1. luogu P3527 [POI2011]MET-Meteors 题解
posted @ 2020-06-16 07:07  With_penguin  阅读(50)  评论(1编辑  收藏  举报