数据结构
高效的数据结构是优化算法的关键。共 12 个模板。
← 返回模板库9.1前缀和 - 一维
O(1) 查询区间和
9.2前缀和 - 二维
O(1) 查询子矩阵和
9.3差分 - 一维
区间加操作转为单点修改
9.4差分 - 二维
子矩阵加操作转为四个角点修改
9.5树状数组
支持单点修改 + 区间查询的轻量级数据结构
9.6树状数组 - 区间修改
差分树状数组,支持区间加 + 单点查询
9.7线段树 - 单点修改
支持单点修改 + 区间查询
9.8线段树 - 区间修改(懒标记)
懒惰传播,区间加 + 区间查询
9.9ST 表(Sparse Table)
静态区间最值查询
9.10LCA - 倍增法
二进制跳转求最近公共祖先
9.11树上差分
路径上的权值修改转为端点修改
9.12权值线段树
以值域建树,求第 k 小、排名等