- 博客(10)
- 收藏
- 关注
原创 【数据结构】线段树
线段树和树状数组这两种数据结构都能处理。与树状数组相比线段树有以下特点。(1)线段树的原理。线段树的原理比树状数组直观,在理论上它比树状数组更好懂,但是线段树的细节很多,应用起来比较烦琐。(2)线段树的代码。线段树要处理大量细节,代码冗长。一个与线段树有关的题目,基本的线段树那一部分的代码约 40 行,而树状数组的核心代码不到 10 行。但是线段树比树状数组更通用。很多问题用线段树解决非常直观,线段树比树状数组的应用场合多。做题的时候,如果一道题同时能用线段树和树状数组求解,
2024-03-11 19:35:48 260 1
原创 树状数组模板
树状数组是一种真正的“高级”数据结构,它用到了二分思想、二叉树、位运算、前缀和等多种知识,是颇为复杂的数据结构。不过树状数组的编程却不麻烦,其代码简短,效率也高。
2024-03-10 15:16:02 246 1
原创 并查集模板
并査集的英文为 Disjoint Set,直译为“不相交集合”。并查集包含了 3项内容:并、查、集。并查集是不相交集合上的合并、查询。并查集是一种非常精巧而实用的数据结构,在算法竞赛中很常见,原因有3个:一是它简单且高效,二是其应用很直观,三是它容易与其他数据结构和算法结合。并查集的经典应用包括:检查连通性、最小生成树 Kruskal 算法、LCA 算法等。
2024-03-06 16:41:15 438 1
原创 ST算法模板
ST算法是求解区间最值问题RMQ的高效算法,适用于静态空间的RMQ查询。ST算法做一次区间查询的复杂度是 O(1),m 次查询的总复杂度只有 O(m)。ST算法基于一个简单原理:一个大区间若能被两个小区间覆盖,则大区间的最值可以用两个小区间的最值计算出来。
2024-03-05 14:53:19 234
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人