分块

· · 算法·理论

前置知识:求 S+\dfrac{n}{S} 的最小值,并求出 S。其中 n 是定值。

令 $x=S,y=\dfrac{n}{S}$,则有 $S+\dfrac{n}{S}\ge 2\sqrt{n}$。即 $S+\dfrac{n}{S}$ 的最小值为 $2\sqrt{n}$。 解方程,得到 $S=\sqrt{n}$。 ### 1. 分块 分块将数组分成 $S=\sqrt{n}$ 块,每一次区间操作分成散块、整块操作。第 $i$ 块在第 $id_i=\dfrac{i}{n/S}+1$块。 他的修改时间复杂度为 $O(\sqrt n)$。 例如:开关 ### 2. 分块例题1:[开关](https://www.luogu.com.cn/problem/P3870) 将其分为 $\sqrt n$ 块。$i$ 号点在 $id_i$ 块。 每一次修改,快速异或整块,暴力异或散块。 3. 推荐练习 - 线段树 - 弹飞绵羊