
非旋treap
SC.ldxcaicai
我很菜=_=
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
BZOJ1014 [JSOI2008]火星人prefix(非旋treap+hash)
[JSOI2008]火星人prefix Time Limit: 10 Sec Memory Limit: 162 MB Submit: 8951 Solved: 2860 Description 火星人最近研究了一种操作:求一个字串两个后缀的公共前缀。比方说,有这样一个字符串:madamimadam,我们将这个字符串的各个字符予以标号:序号: 1 2 3 4 5 6 7 8 9 1...原创 2018-06-28 13:14:43 · 199 阅读 · 0 评论 -
bzoj2329: [HNOI2011]括号修复(fhq_treap)
传送门 题意简述: 给一个括号序列,要求支持: 区间覆盖 区间取负 区间翻转 查询把一个区间改成合法括号序列最少改几位 思路: 先考虑静态的时候如何维护答案。 显然把所有合法的都删掉之后序列长这样: ))...)))(((...(())...)))(((...(())...)))(((...(( 于是可以给(((赋值成−1-1−1,)))赋值成111,这样只用维护前缀最大值aaa和后缀最小值...原创 2019-03-25 16:53:34 · 208 阅读 · 0 评论 -
spoj GSS系列简要题解
文章目录GSS1GSS2GSS3GSS4GSS5GSS6GSS7GSS8 [传送门] (https://vjudge.net/problem#OJId=SPOJ&probNum=GSS&title=&source=&category=all) 这个GSSGSSGSS系列全部是跟子段有关的数据结构菜题。 于是来水一篇博客。 GSS1 传送门 题意简述:原创 2019-02-19 00:24:15 · 351 阅读 · 0 评论 -
NOIP训练 可持久化序列【模板】(可持久化treap)
传送门 题意简述:支持在把某个数插入到某版本的第k个位置,删除某版本第k个数,询问第k个数。 思路:用可持久化treaptreaptreap维护区间第kkk个位置的数是啥就可以了。 代码 ...原创 2019-01-21 21:40:48 · 328 阅读 · 0 评论 -
2081.09.22 Kuma(非旋treap)
传送门 看到这个把一堆数放到队首的操作就想到了非旋treap。 要注意的是对于每次修改要利用题目给出的信息转化出新的询问区间。 还要注意答案开long long。 代码: #include<bits/stdc++.h> #define N 1000005 #define ll long long using namespace std; typedef pair<int,int&...原创 2018-09-22 23:03:48 · 154 阅读 · 0 评论 -
2018.10.05 codevs1743 反转卡片(非旋treap)
传送门 非旋treap维护区间反转简单题。 很板的一道题。 fhq_treap真心好些,安利一波。 只需要写merge,splitmerge,splitmerge,split两个操作,并且及时的下穿标记与合并信息就行了。 代码: #include<bits/stdc++.h> #define N 300005 #define lc son[p][0] #define rc son[p]...原创 2018-10-05 21:10:02 · 201 阅读 · 0 评论 -
2018.10.03 bzoj3506: [Cqoi2014]排序机械臂(非旋treap)
传送门 跟文艺平衡树差不多,只需要维护区间翻转操作就行了。 我们按照下标建树,每次取出根节点,将左子树打上翻转标记,然后删掉根节点就行了。 代码: #include&lt;bits/stdc++.h&gt; #define N 100005 using namespace std; inline int read(){ int ans=0; char ch=getchar(); while(...原创 2018-10-03 22:20:02 · 222 阅读 · 0 评论 -
2018.08.27 rollcall(非旋treap)
描述 初始有一个空集,依次插入N个数Ai。有M次询问Bj,表示询问第Bj个数加入集合后的排名为j的数是多少 输入 第一行是两个整数N,M 接下来一行有N个整数,Ai 接下来一行有M个整数Bj,保证数据合法 输出 M行,回答每个询问 样例输入 7 4 9 7 2 8 14 1 8 1 2 6 6 样例输出 9 9 7 8 提示 【说明】 第一次询问,当前集合{9...原创 2018-08-27 22:49:16 · 242 阅读 · 0 评论 -
2018.08.06bzoj1251: 序列终结者(非旋treap)
传送门 平衡树板子题。 直接fhqtreap打区间标记就行了。 代码: #include&lt;bits/stdc++.h&gt; #define N 50005 using namespace std; typedef pair&lt;int,int&gt; res; inline int read(){ int ans=0,w=1; char ch=getchar(...原创 2018-08-06 23:06:25 · 279 阅读 · 0 评论 -
2018.08.06 bzoj1503: [NOI2004]郁闷的出纳员(非旋treap)
传送门 平衡树简单题。 直接用fhgtreap实现分裂和合并就没了。 代码: #include&lt;bits/stdc++.h&gt; #define N 100005 using namespace std; typedef pair&lt;int,int&gt; res; int n,minn,cnt=0,rt=0,delta=0,son[N][2],siz[N],rd[N],v...原创 2018-08-06 21:44:09 · 182 阅读 · 0 评论 -
2018.08.06 bzoj1500: [NOI2005]维修数列(非旋treap)
传送门 平衡树好题。 我仍然是用的fhqtreap,感觉速度还行。 维护也比线段树splay什么的写起来简单。 %%%非旋treap大法好。 代码: #include&lt;bits/stdc++.h&gt; #define N 500005 #define inf 0x3f3f3f3f using namespace std; queue&lt;int&gt;garbage; t...原创 2018-08-06 20:38:39 · 276 阅读 · 2 评论 -
2018.08.05 bzoj3223: Tyvj 1729 文艺平衡树(非旋treap)
传送门 经典的平衡树问题,之前已经用splay写过一次了,今天我突发奇想,写了一发非旋treap的版本,发现挺好写的(虽然跑不过splay)。 代码: #include&lt;bits/stdc++.h&gt; #define N 100005 using namespace std; typedef pair&lt;int,int&gt; res; int rt=0,n,m,cnt=0,s...原创 2018-08-05 23:40:09 · 198 阅读 · 0 评论 -
2018.07.24 loj#107. 维护全序集(非旋treap)
传送门 就是普通平衡树,可以拿来练非旋treaptreaptreap的板子。 贴个代码: #include&lt;bits/stdc++.h&gt; #define N 300005 using namespace std; typedef pair&lt;int,int&gt; res; int n; inline int read(){ int ans=0; char...原创 2018-07-24 22:54:55 · 278 阅读 · 0 评论 -
2018.07.06 BZOJ 1588: HNOI2002营业额统计(非旋treap)
1588: [HNOI2002]营业额统计 Time Limit: 5 Sec Memory Limit: 162 MB Description 营业额统计 Tiger最近被公司升任为营业部经理,他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况。 Tiger拿出了公司的账本,账本上记录了公司成立以来每天的营业额。分析营业情况是一项相当复杂的工作。由于节假日,大减价或者是...原创 2018-07-06 23:11:31 · 195 阅读 · 0 评论 -
2018.07.06 BZOJ1208: HNOI2004宠物收养所(非旋treap)
1208: [HNOI2004]宠物收养所 Time Limit: 10 Sec Memory Limit: 162 MB Description 最近,阿Q开了一间宠物收养所。收养所提供两种服务:收养被主人遗弃的宠物和让新的主人领养这些宠物。每个领养者都希望领养到自己满意的宠物,阿Q根据领养者的要求通过他自己发明的一个特殊的公式,得出该领养者希望领养的宠物的特点值a(a是一个正整数,a&amp;...原创 2018-07-06 17:08:35 · 242 阅读 · 0 评论 -
bzoj3323: [Scoi2013]多项式的运算(非旋treap)
传送门 题意:定义一个无穷项的多项式f(x)f(x)f(x),初始各项系数都为0,现在有几种操作 将xLx^LxL到xRx^RxR这些项的系数乘上某个定值v 将xLx^LxL到xRx^RxR这些项的系数加上某个定值v 将xLx^LxL到xRx^RxR这些项乘上x变量 将某个定值v代入多项式F(x),并输出代入后多项式的值,之后多项式还原为代入前的状况 其中第四种操作不会出现超过...原创 2019-03-29 07:41:15 · 164 阅读 · 0 评论