随笔分类 -  其他——学习笔记

摘要:前置知识 权值线段树&动态开点线段树 适用范围 有时候我们需要对权值线段树进行合并操作。然后就用到了线段树合并。一般是有很多棵线段树,然后需要将其中的两棵合并起来。 方法 其实方法很简单呢。就是分三种情况讨论一下。假设现在要将线段树a和线段树b合并。并且a成为合并之后的线段树。 如果a有当前子树,而 阅读全文
posted @ 2018-12-10 21:28 wxyww 阅读(161) 评论(0) 推荐(0)
摘要:权值线段树 所谓权值线段树,就是指线段树内存的是权值。~~好像是废话~~。给出一些数,要查询一个区间内的数的个数。这时可以用权值线段树,开个n(n为给出的数的最大值)个点的线段树。然后就能轻松的维护了~~当然树状数组更简单~~ 动态开点 为什么要动态开点呢?当然是因为空间不够啊。比如还是上面那个例子 阅读全文
posted @ 2018-12-10 11:33 wxyww 阅读(1036) 评论(0) 推荐(1)
摘要:胡扯 因为先学习的treap,而splay与treap中有许多共性,所以会有很多地方不会讲的很细致。关于treap和平衡树可以参考这篇博客 关于splay splay,又叫伸展树,是一种二叉排序树,它能在O(log n)内完成插入、查找和删除操作。它由Daniel Sleator和Robert Ta 阅读全文
posted @ 2018-12-09 08:22 wxyww 阅读(257) 评论(0) 推荐(0)
摘要:平衡树 平衡树就是一种可以在log的时间复杂度内完成数据的插入,删除,查找第k大,查询排名,查询前驱后继以及其他许多操作的数据结构。 Treap treap是一种比较好写,常数比较小,可以实现平衡树基本操作的一种平衡树。treap的平衡是基于随机化。是将堆与二叉查找树结合起来所得到的数据结构。 tr 阅读全文
posted @ 2018-11-29 21:47 wxyww 阅读(346) 评论(0) 推荐(0)
摘要:主要应用 首先要知道左偏树是用来干什么的。如果给我们两个优先序列,然后让我把这两个优先队列合并成一个优先队列。如果直接用堆,就是将一个队列里面的数不断弹出然后扔到另一个队列里。复杂度是$O(n)$n为队列中数的个数。但是用左偏树就可以做到$log(n_1 + n_2)$。 PS:为了便于讨论,本文所 阅读全文
posted @ 2018-11-27 19:40 wxyww 阅读(264) 评论(0) 推荐(0)