随笔分类 -  平衡树

摘要:SOL: 我们对字符串哈希即可。 阅读全文
posted @ 2018-07-16 16:11 泪寒之雪 阅读(285) 评论(0) 推荐(0)
摘要:T1 : 同 BZOJ 3658 可以扫描线(非要写可持久化数据结构也不拦着你)。 我们先处理在直线下方的东西。 先把所有点都按x轴排序。相同颜色的点用链表连起来。那么答案就应该在相邻的两个同色点之间的全部点或同色中最前或最后的点和边界之间的所有点。这个我们可以统计出来。 我们按照y轴排序,一排一排 阅读全文
posted @ 2018-05-27 21:36 泪寒之雪 阅读(265) 评论(0) 推荐(0)
摘要:经典引文 空间效率:O(n) 时间效率:O(log n)插入、查找、删除 创造者:Daniel Sleator 和 Robert Tarjan 优点:每次查询会调整树的结构,使被查询频率高的条目更靠近树根。 Tree Rotation 树的旋转是splay的基础,对于二叉查找树来说,树的旋转不破坏查 阅读全文
posted @ 2018-03-15 20:34 泪寒之雪 阅读(196) 评论(0) 推荐(0)
摘要:题目描述 (4s,1G)从小热爱计算机的Zbox开始玩栈了.Zbox有n个栈,他命令你支持如下操作:*.把第l个栈到第r个栈都压入一个元素x*.把第l个栈到第r个栈都弹出栈顶(若栈为空则无视)*.询问第s个栈的第k个元素是多少(栈顶为第一个元素)输入描述第一行2个数n,q接下来q行,每行第一个数为t 阅读全文
posted @ 2018-03-13 20:15 泪寒之雪 阅读(479) 评论(0) 推荐(0)
摘要:题链 我们求前缀和,则问题转化为找两点距离在l,r之间,求其差。 我们处理出这样一个东西(i,L,R)表示当这个和弦的左端点为i时在上限和下限中的最优值。(也就是右端点在[i+l-1,i+r-1]中) 我们将第一步处理出来的所有最优值扔到一个堆里面,然后每次从堆中选取最大的出来,将ans加上这个数 阅读全文
posted @ 2018-01-26 10:46 泪寒之雪 阅读(230) 评论(0) 推荐(0)
摘要:题链 我们发现这是一道模板STL题。 边听歌边debug效率好低。 阅读全文
posted @ 2018-01-24 13:47 泪寒之雪 阅读(215) 评论(0) 推荐(0)
摘要:题链 我们发现答案一直在减小,我们启发式合并,对每一个值开平衡树。那么是O(NlogN^2) 然而,我懒得写离散化了,所以MAP,莫名多一个log 大家要知道 LOJ 是非常快的~ 无力吐槽。 阅读全文
posted @ 2018-01-22 19:51 泪寒之雪 阅读(128) 评论(0) 推荐(0)
摘要:我们知道有可持久化线段树,那么我们自然也想到平衡树是否也能可持久化,答案是肯定的。 现在我们给出一种数据结构:Treap。 不会的点这里 我们现在发现,旋转是一种很难持久化的操作,那么我们就要尽量避免旋转操作,我们引入以下2个操作: 1.spilt 对于一个Treap,我们需要把它按照第K位拆分,那 阅读全文
posted @ 2018-01-11 15:57 泪寒之雪 阅读(1245) 评论(0) 推荐(0)
摘要:SOL:我们可以证明,设Sum[x]代表1到X编号的矮人被sum[x]个精灵挑为对手,则Sum[x]-x min的位置和其后一个是没有任何关系的(没有精灵会从这个矮人走向下一个矮人)。 那么我们就把其拆成了单链。贪心就好。 阅读全文
posted @ 2018-01-06 20:12 泪寒之雪 阅读(449) 评论(0) 推荐(0)
摘要:所谓Treap,就是一种二叉查找树,而我们知道二叉查找树,相对来说比较容易形成最坏的链表情况,所以我们有一种数据结构来防止二叉查找树出现最坏情况,那就是Treap。 Treap=tree+heap,Treap就是这样一种既是树又是堆的奇怪的东东。我们每次插入节点时,便随机的给每个节点赋给一个值,我们 阅读全文
posted @ 2017-12-24 21:22 泪寒之雪 阅读(870) 评论(0) 推荐(0)
摘要:题目描述 请写一个程序,要求维护一个数列,支持以下 6 种操作:(请注意,格式栏 中的下划线‘ _ ’表示实际输入文件中的空格) 输入输出格式 输入格式: 输入文件的第 1 行包含两个数 N 和 M,N 表示初始时数列中数的个数,M 表示要进行的操作数目。 第 2 行包含 N 个数字,描述初始时的数 阅读全文
posted @ 2017-12-24 20:58 泪寒之雪 阅读(280) 评论(0) 推荐(0)