摘要:
替罪羊树 总结: 1、伸展树靠不停的旋转来保持平衡,treap的话用一个随机的东西保持平衡,而替罪羊树直接把不平衡的子树拍平,直接暴力重构来平衡 2、重构允许重构整棵替罪羊树,也允许重构替罪羊树其中的一棵子树。 3、替罪羊树可以和kd-tree结合使用 详解: 0x00 扯淡 知乎上面有个问题问最优 阅读全文
posted @ 2018-01-08 18:58
范仁义
阅读(954)
评论(0)
推荐(0)
摘要:
树链剖分 总结: 树链剖分实质就是将树上的普通节点变成区间的故事,然后用线段树来求解。 1、 其实树链剖分就是把边哈希到线段树上的数据结构。 实现的话很简单,用两个dfs处理数数的信息,重边以及轻边,然后就是一些线段树的操作了。 2、将普通的树变成每个节点是区间的树,用线段树来解决 3、树链剖分中有 阅读全文
posted @ 2018-01-08 18:26
范仁义
阅读(458)
评论(0)
推荐(0)
摘要:
DFS序 总结: 1、树转化为线性:将树通过dfs转化为线性结构,这就是dfs序,和树链剖分有点相似 2、普通树转化为线段树:记录每个节点构成的树(子树)的起点和终点,起点是自己,这样每个点就构成了一个区间,然后对区间的操作就和线段树和树状数组一样了。 3、DFS序主要用来做子树的更新,因为DFS序 阅读全文
posted @ 2018-01-08 18:05
范仁义
阅读(406)
评论(1)
推荐(0)