数据结构 | Kruskal 重构树

Kruskal 重构树:维护图上两点间所有简单路径的最大边权的最小值 / 维护树上两点间路径的最大边权的数据结构。

(也可以维护图上两点间所有简单路径的最小边权的最大值 / 维护树上两点间路径的最小边权)

- 阅读剩余部分 -

数据结构 | 线段树

线段树 (Segment Tree):用来维护区间信息的数据结构。可在 $O(\log N)$ 的时间复杂度内完成单点修改、区间修改、区间查询(区间和、区间最大值、区间最小值)等操作。

- 阅读剩余部分 -

数据结构 | ST 表

ST 表 (Sparse Table):对于可重复贡献问题,可在 $O(n\log n)$ 完成初始化,在 $O(1)$ 回答每个区间查询的数据结构。但是不支持修改数据。

可重复贡献问题:对于运算 $\star$,如果 $x\star x=x$,且 $\star$ 要满足结合律,则对应的区间询问是可重复贡献问题。符合这个性质的常见运算有 $\max,\min,\gcd$.

- 阅读剩余部分 -

数据结构 | 字典树

字典树 (单词查找树, Trie, /ˈtraɪ/): 是一种有序树,用于保存关联数组,其中的键通常是字符串。

- 阅读剩余部分 -