分块(又称根号算法,因为单次操作复杂度是根号级别),是一种重要的思想,可以用来解决较为简单的题目,也可以用来解决各种可怕的问题。尽管如此,分块的思想不难理解。
iznomia
钢铁洪流
二叉搜索树(Binary Search Tree, BST)是一种二叉树的树形数据结构,能高效地解决许多其它数据结构所不能解决的问题,但由于自身是一个不稳定,容易退化的数据结构,所以需要用特殊手段保证其平衡。
并查集(UnionFind-Set 或 Disjoint-Set)是一种可以动态维护若干个不重叠的集合的数据结构,支持合并和查询两个操作。本文将引导你学习并查集,并查集的路径压缩和按秩合并优化,以及一种特殊的并查集——带权并查集,和用并查集解决图连通性问题。
线段树(Segment Tree)是一种二叉搜索树,1977 年由 Jon Louis Bentley 发明,可以较为灵活且效率较高地解决信息可合并的序列维护问题。而树状数组可以维护序列的前缀和。