[关闭]
@Venous 2018-08-09T20:38:08.000000Z 字数 1555 阅读 1380

数据结构清单

清单


初级数据结构

单调队列

总结

一眼看出是O(N)的题?~~仿佛遇到贪心~~
单调队列优化dp

优先队列

树状数组(超级思维的)

线段树(都超级经典)

主席树(戳我有知识讲解)

左偏树(戳我有知识讲解)

总结
貌似并不支持很多操作?

维护集合之间的信息(~~我们不是有启发式合并吗~~)
静态维护区间中位数

可持久化并查集&数组

Splay(戳我有知识讲解)

总结
所支持的操作有很多,暂时总结一些奇技淫巧

*动态维护整体第K_th大
支持查找前驱后继
套上并查集与启发式合并动态维护连通性


*区间翻转,查询,插入,删除,修改,平移
利用线段树建树思想来快速做到Insert

还有骚操作就是维护多棵Splay,每棵Splay维护一个区间(但是没有将所有的值域插入!),加点删点考虑拆点的思想

值得注意的是

弄清楚是位置Splay还是权值Splay,不然到时候节点存的值都策不清
有时为了防止是道裸的数据结构题,经常会卡空间,所以需要掌握各种省空间技巧,例如动态开点,维护选点集合,插入点可以是之前删除点(参见维护数列)等等技巧,需要更加熟练

树链剖分

可持久化Trie树(利用可持久化实现区间询问)

树套树

总结

所以貌似可以用树套树来优化dp

高级数据结构

线段树分治

线段树合并

虚树(戳我有知识讲解)

K-D树

1.替罪羊树
2.带花树
3.回文树

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注