Loading

【笔记】学习笔记2022-12-12

2022-12-12

知识

三分

三分可求单峰函数的极值点。

对于区间 \([l, r]\),求极值点。
可以在 \([l, r]\) 中找到两个三等分点 \(lmid\)\(rmid\)

比较两点点值,若左边较小,舍弃右边,否则舍弃左边

对于正确性,分为三种情况:

  1. 极值点在 \(lmid, rmid\) 之间
  2. 极值点在 \(lmid, rmid\) 左侧
  3. 极值点在 \(lmid, rmid\) 右侧

经过舍弃后,区间均包含极值点。
小trick:三分法每次操作会舍去两侧区间中的其中一个。为减少三分法的操作次数,应使两侧区间尽可能大。因此,每一次操作时的 \(lmid\)\(rmid\) 分别取 \(mid-\varepsilon\)\(mid+\varepsilon\) 是一个不错的选择。

整体二分

对于多询问二分,可以离线处理,放在一起,每次选取共同的 \(mid\) 进行二分处理。

cdq分治

对于大问题,分成小问题分别解决,后进行合并,类似归并排序。

例题

三分

Luogu3382 【模板】三分法

模板题,三分位置求函数值,比较。

整体二分

Luogu3527 [POI2011]MET-Meteors

(弃) 在调了在调了。

cdq分治

Luogu3810 【模板】三维偏序(陌上花开)

模板题,可以使用 bitset,cdq 分治,KD-Tree 等方式解决。这里用 cdq 分治解决。
对于三维,我们很难一起解决,于是可以一维一维解决。
对于第一维,直接排序,对于第二维,cdq 分治,分别排序后合并处理,第三维直接拿数据结构维护即可。

posted @ 2023-05-13 22:11  AgrumeStly  阅读(14)  评论(0编辑  收藏  举报