随笔分类 -  数据结构-平衡树-非旋转Treap

摘要:砖块Klo bzoj-1112 POI-2008 题目大意:$N$柱砖,希望有连续$K$柱的高度是一样的. 你可以选择以下两个动作 1:从某柱砖的顶端拿一块砖出来,丢掉不要了. 2:从仓库中拿出一块砖,放到另一柱.仓库无限大. 现在希望用最小次数的动作完成任务. 注释:$1\le k\le n\le 阅读全文
posted @ 2019-01-07 19:02 JZYshuraK_彧 阅读(175) 评论(0) 推荐(0)
摘要:火星人prefix bzoj-1014 JSOI-2004 题目大意:给定一个字符串,支持三种操作:1.查询;两个后缀之间的$LCP$;2.单点修改;3.插入一个字符。 注释:$1\le n\le 10^5$,$1\le m\le 1.5\cdot 10^5$。 想法: 第一眼就是后缀数组,但是发现 阅读全文
posted @ 2018-12-17 16:53 JZYshuraK_彧 阅读(212) 评论(0) 推荐(0)
摘要:supermemo bzoj-1895 Pku-3580 题目大意:给定一个n个数的序列,需支持:区间加,区间翻转,区间平移,单点插入,单点删除,查询区间最小值。 注释:$1\le n\le 6.1\cdot 10^6$。 想法: 这数据范围给的我真是醉了。 显然用平衡树,这里用非旋转Treap,题 阅读全文
posted @ 2018-09-27 23:06 JZYshuraK_彧 阅读(229) 评论(1) 推荐(1)
摘要:非旋转Treap:用运行时间换调试时间的有效手段 Hello大家好,我们今天来聊一聊非旋转Treap。 相信各位或多或少都做过些序列上的问题。如果水题我们考虑暴力;不强制在线我们可能用过莫队和待修改莫队;不更改序列上的时间戳信息的我们使用线段树或者树状数组,也有可能请出主席树。那如果更大幅度的操作, 阅读全文
posted @ 2018-09-14 10:15 JZYshuraK_彧 阅读(515) 评论(0) 推荐(3)
摘要:维修数列 bzoj-1500 NOI-2005 题目大意:给定n个数,m个操作,支持:在指定位置插入一段数;删除一个数;区间修改;区间翻转。查询:区间和;全局最大子序列。 注释:$1\le n_{max} \le 5\cdot 10^5$,$1\le m \le 2\cdot 10^4$。 想法:据 阅读全文
posted @ 2018-07-24 21:15 JZYshuraK_彧 阅读(189) 评论(0) 推荐(0)
摘要:神秘物质 bzoj-4864 BeiJing-2017-Wc 题目大意:给定一个长度为n的序列,支持插入,将相邻两个元素合并并在该位置生成一个指定权值的元素;查询:区间内的任意一段子区间的最大值减最小值的最大值或最小值。 注释:$1\le n,m \le 10^5$,m为操作个数。 想法:如果用非旋 阅读全文
posted @ 2018-07-09 16:29 JZYshuraK_彧 阅读(206) 评论(0) 推荐(0)
摘要:robotic sort 排序机械臂 bzoj-1552 bzoj-2506 Cqoi-2014 题目大意:给定一个序列,让你从1到n,每次将[1,p[i]]这段区间反转,p[i]表示整个物品权值第i小的。 注释:$1\le n\le 10^5$。 想法:非旋转Treap裸题,随题目要求。只需要非旋 阅读全文
posted @ 2018-07-09 15:23 JZYshuraK_彧 阅读(205) 评论(0) 推荐(0)
摘要:Book 书架 bzoj-1861 Zjoi-2006 题目大意:给你一个序列,支持:将指定编号的元素抽出,放到序列顶(底);将指定编号元素左右篡位;查询指定编号元素位置;查询指定数量位置元素编号。 注释:$1\le n,m\le 8\cdot 10^4$ 想法:非旋转Treap裸题 需要注意的就是 阅读全文
posted @ 2018-07-07 19:49 JZYshuraK_彧 阅读(263) 评论(0) 推荐(0)
摘要:最长上升子序列 bzoj-3173 题目大意:有1-n,n个数,第i次操作是将i加入到原有序列中制定的位置,后查询当前序列中最长上升子序列长度。 注释:1<=n<=10,000,开始序列为空。 具体的非旋转Treap的讲解:讲解链接 想法:显然,我们发现,我每次加入的数一定是当前序列中最大的,所以, 阅读全文
posted @ 2018-03-03 11:18 JZYshuraK_彧 阅读(310) 评论(0) 推荐(0)