bzoj3224模板参(chao)考(xi)了hzwer神犇,ORZ//treap#include#include#includeusing namespace std;struct node{ int l,r,v,w,rnd,size;};node tr[100011];int num=0,...
分类:
其他好文 时间:
2015-06-19 10:21:27
阅读次数:
94
1 program hehe; 2 type 3 shu=record 4 l,r,w,h,y,s:longint; 5 end; 6 var 7 n,i,j,k,t,ans,root,size:longint; 8 x:array[0..100000] of shu; 9 10 ...
分类:
其他好文 时间:
2015-06-18 19:42:50
阅读次数:
107
1 program hehe; 2 type 3 shu=record 4 l,r,w,h,y,s:longint; 5 end; 6 var 7 n,i,j,k,ans,root,size:longint; 8 x:array[0..100000] of shu; ...
分类:
其他好文 时间:
2015-06-18 11:25:08
阅读次数:
120
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5249思路分析:使用queue记录管道中的值并使用treap能够查询第K大的功能查询第floor(m/2)+1大的数值;对于in value操作,将value插入queue中和treap中;对于out操作...
分类:
其他好文 时间:
2015-06-17 21:27:37
阅读次数:
143
伸展树
伸展树(Splay Tree),也叫分裂树,是一种二叉排序树,它由Daniel Sleator和Robert Tarjan创造,后者对其进行了改进。
假设想要对一个二叉查找树执行一系列的查找操作。为了使整个查找时间更小,被查频率高的那些条目就应当经常处于靠近树根的位置。于是想到设计一个简单方法,在每次查找之后对树进行重构,把被查找的条目搬移到离树根近一些的地方。splaytre...
分类:
其他好文 时间:
2015-06-04 01:03:35
阅读次数:
187
题意:3种操作分别为入队,出队,查询当前队列的中位数。操作数为1e5数量级。思路:先考虑离线算法,可以离散+线段树,可以划分树,考虑在线算法,则有treap名次树,SBtree(size balanced tree)等等。123456789101112131415161718192021222324...
分类:
其他好文 时间:
2015-06-03 06:07:22
阅读次数:
201
题意:
给出一段长为n的区间和m个操作;
1是向[l , r]区间中每个点加入一个权值为k (k
2是查询[l , r]区间中的第k大数;
注意1操作是加入而不是加上,就是说此题是在n个盒子里放小球的意思;
题解:
此题自己并yy不动,所以想法都是各位神犇的;
/*自己想的是外层线段树维护区间,内层treap维护排名;
然而只能做到单点的修改,区间修改暴力搞势必不行;
打...
分类:
其他好文 时间:
2015-05-26 21:23:41
阅读次数:
142
题意:
给出一段长为n的数列,求其逆序对数;
然后给出m个操作,每次操作给出l,r;
交换l,r并输出操作之后的逆序对数;
n
题解:
求逆序对本来是一个很简单的事情,然而动态修改就不能用树状数组直接搞了;
因为树状数组求逆序对是不支持区分某个数在它前面还是后面的;
所以考虑求在它之前小于它的数的个数,用线段树维护区间,套treap维护排名;
在求排名的过程中顺便记录一个...
分类:
其他好文 时间:
2015-05-26 10:49:29
阅读次数:
175
实现功能:同平衡树Treap 1(BZOJ3224 / tyvj1728)这次的模板有了不少的改进,显然更加美观了,几乎每个部分都有了不少简化,尤其是删除部分,这个参照了hzwer神犇的写法,在此鸣谢,然后,贴模板走人 1 var 2 i,j,k,l,m,n,head,tot:longin...
分类:
编程语言 时间:
2015-05-23 11:25:28
阅读次数:
119