铭记尅巴赫嘱托 学习平衡复杂度
牢记尅巴赫对数据结构“根号平衡”“阈值分治”“调整块长”的期望重托,突出能过题目树导向,要真正把复杂度这个唯一的根本的标准立起来落下去,强化各级操作抓平衡的主责意识、各级操作务实事的担当意识、广大选手练火箭的毛毛虫意识。
众所周知,数据结构里面很重要的一点是平衡复杂度,但是有些人他就不会平衡复杂度
一个显然的例子是分块调块长
来不及追忆过去了,在刚结束的 ARC205E 中小 W 编了如下做法:
考虑根号重构,做一次高位前缀和状物统计答案,复杂度设为 \(O(V)\),那么我们每 \(\sqrt n\) 个数重构一遍,块内暴力,于是复杂度是 \(O(V \sqrt n)\)
请从原神角度评析他的行为
事实上现在暴力部分的复杂度是 \(O(\sqrt n)\) 的,那么这部分就是躺赢狗,为了避免这种情况出现,设块长为 \(B\),复杂度其实是 \(O(nB+\dfrac{n}{B}V)\) 显然取 \(B=\sqrt V\) 即可做到 \(O(n\sqrt V)\)