树套树
摘要:参考: 算法训练营6.4 简介: 名称:树套树 本质:一个节点为另一种树形结构(也可以是自己)的树形结构。 一些abstract:我们用平衡树实现过查询过一棵树中的第k小,但是没有做到查询某一个区间的第k小,更不用说带动态修改的区间第k小了。如果不要求在线处理,cdq可以解决动态区间第k小,但是在线
阅读全文
posted @
2022-05-15 11:34
小染子
阅读(641)
推荐(1)
跳跃表
摘要:参考: 算法训练营6.3 简介: 名称:跳跃表 本质:可以进行二分查找的有序链表。 一些abstract:正常的链表查找是O(n)的,想要依靠有序性完成快速的二分查找似乎并不容易,我们尝试在一个有序链表上添加若干层索引,比如第一层是将所有奇数下标的点“提”出来,复制其data值,将新的节点的指针指向
阅读全文
posted @
2022-05-14 14:10
小染子
阅读(107)
推荐(0)
KD树
摘要:参考: 算法训练营6.1 简介: 名称:KD树(K-Dimension tree)。 本质:是二叉树,但是是二叉搜索树的扩展,用于多维空间数据的搜索(范围搜索和最近邻搜索),提高搜索效率。 一些abstract:BST、AVL、Treap和伸展树等二叉搜索树的节点存储的都是一维信息。而多维数据需要一
阅读全文
posted @
2022-05-12 22:59
小染子
阅读(196)
推荐(0)
SBT
摘要:参考: 算法训练营5.3 大佬板子:https://blog.csdn.net/l961983207/article/details/78626026 简介: 名称:SBT(Size Balanced Tree,节点大小平衡树)。 本质:是一种自平衡二叉查找树,通过旋转来保证子树的大小大致相等来保持
阅读全文
posted @
2022-05-10 23:32
小染子
阅读(348)
推荐(0)
分块
摘要:参考: 算法训练营第二章 名称:分块。 本质:优化后的暴力。 一些abstract: 设sn = 根号n。 树状数组和线段树维护的信息必须满足信息合并特性,即对于区间来说,分成两个区间分别操作和单独对一个区间的操作是一样的。不满足这个特性,则不能使用树状数组和线段树。 分块几乎可以解决所有区间更新和
阅读全文
posted @
2022-05-09 18:43
小染子
阅读(186)
推荐(0)
线段树
摘要:参考: 算法训练营 大佬笔记:https://zhuanlan.zhihu.com/p/106118909 简介: 名称:线段树(Segment Tree) 本质:维护区间信息(信息需要满足结合律,就是(a+b)+c=a+(b+c)的那种性质),对于点、区间更新、区间查询的复杂度均为O(logn)。
阅读全文
posted @
2022-05-08 22:43
小染子
阅读(380)
推荐(1)
AC自动机(上)
摘要:参考: 算法训练营第三章 很全的资源:https://blog.csdn.net/dllglvzhenfeng/article/details/123012998 洛谷日报:https://baijiahao.baidu.com/s?id=1610756759406088822&wfr=spider
阅读全文
posted @
2022-05-07 23:07
小染子
阅读(122)
推荐(0)
字典树
摘要:参考 算法训练营第三章 名称:字典树(Trie树) 本质:哈希树的一种变种。 一些abstract:用于统计、排序和存储大量的字符串(不限于字符串),经常用于文本词频统计。优点:利用公共前缀减少查询时间,减少字符串比较。 字典树是一棵多叉树,树的每一条边代表一个字符串的字母。在字典树上一个单词就是从
阅读全文
posted @
2022-05-06 21:26
小染子
阅读(160)
推荐(0)
伸展树(上)
摘要:参考: 大佬1的理解:https://zhuanlan.zhihu.com/p/376621778 算法训练营5.2(没有将值相同的节点合并,但是代码易懂) 简介: 名称:伸展树(分裂树) 本质:一种二叉搜索树,可以在O(logn)的时间内完成插入、查找和删除操作,是基于数据的时间局部性和空间局部性
阅读全文
posted @
2022-05-06 16:51
小染子
阅读(225)
推荐(0)
Treap
摘要:参考 算法训练营第五章 名称:Treap(Tree+heap,又叫做树堆)。 本质:同时满足二叉搜索树和堆两种数据结构的性质。 一些abstract:弥补了二叉搜索树输入时因为退化成一条链导致复杂度爆炸的弱点。如果以随机的顺序构造一个二叉搜索树,则期望是平衡的,即左右高度不会差很多。如果我们提前已知
阅读全文
posted @
2022-05-04 20:58
小染子
阅读(228)
推荐(0)
树状数组
摘要:参考: 第一位大佬的链接:https://zhuanlan.zhihu.com/p/93795692,奶奶喂饭级别教程,强烈推荐! 算法训练营,树状数组篇 简介: 名称:树状数组(Binary Index Tree,即BIT) 支持的基本操作: 单点修改,更改某个元素的值,复杂度O(logn) 区间
阅读全文
posted @
2022-05-03 22:11
小染子
阅读(126)
推荐(1)
替罪羊树
摘要:参考: 大佬1的理解和模版:https://zhuanlan.zhihu.com/p/21263304,适合理解替罪羊树的原理,但是没有考虑很多点值都相等的情况,所有的点都是分开的,这点不是很好。 大佬2的理解和模版:https://www.cnblogs.com/tlx-blog/p/129007
阅读全文
posted @
2022-05-03 10:22
小染子
阅读(61)
推荐(0)