把括号序列后一定是))))((((这种形式的..所以维护一个最大前缀和l, 最大后缀和r就可以了..答案就是(l+1)/2+(r+1)/2...用splay维护,O(NlogN). 其实还是挺好写的, 只是我傻X--------------------------------------------...
分类:
其他好文 时间:
2015-12-04 22:31:27
阅读次数:
255
模板题 指针的狂欢,写的要飞起来了,yooo~ bzoj3223文艺平衡树 区间翻转 1 #include 2 using namespace std; 3 #define inf 0x3f3f3f3f 4 #define maxn 100005 5 struct node{ ...
分类:
其他好文 时间:
2015-12-04 14:22:45
阅读次数:
168
给n个数,有两种操作 Q a b 询问区间[a,b]的最大值, U a b 将第a个数的值改成bsplay树的中序遍历是我们所维护的序列。如果要询问区间[a,b]的最大值,那么只要将第a-1个数旋转到根结点, 将第b+1个数旋转到根的右孩子,那么根的右孩子的左子树就是所要查询的区间。我们为每一个.....
分类:
其他好文 时间:
2015-10-20 20:56:37
阅读次数:
205
自己写的第一颗splay。http://acm.hdu.edu.cn/showproblem.php?pid=3487 1 #include 2 #include 3 #include 4 using namespace std; 5 const int maxn = 3e5 + 1...
分类:
其他好文 时间:
2015-10-03 18:13:18
阅读次数:
280
http://www.lydsy.com/JudgeOnline/problem.php?id=1588我的第一颗splay, bottom-up的数组实现。题意就是给你一组数,求每个数与在其前面且与其最相近的数的差值的绝对值。考虑splay二叉搜索树的特性,每新插入一个节点,比它小且最靠近它的数在...
分类:
其他好文 时间:
2015-10-02 20:00:39
阅读次数:
259
在线求第k大,第一次用二分+树状数组写。。。比赛的时候分治啊,splay啊,主席树啊换来换去,然而以前为什么不知道可以这么写。。。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include ...
分类:
其他好文 时间:
2015-10-02 19:59:50
阅读次数:
271
伸展树(Splay Tree),或者叫自适应查找树,插入、查找和删除操作的时间都为O(logn)。伸展树的目的是使被查频率高的那些条目就应当经常处于靠近树根的位置。它的做法是在每次查找后,将被查找的节点splay到根节点。使用伸展树需要符合90-10法则:在实际情况中,90%的访问发生在10%的数据...
分类:
其他好文 时间:
2015-10-01 11:27:32
阅读次数:
261
题意:
给出n个字符串,长度均为len;
有m次操作,每次将两个字符交换;
求每个字符串在任何时点上,与相同的它最多的字符串个数;
n
题解:
Poi!
字符串长度很小,我们先考虑到用Hash来判断字符串的相同;
这些部分很简单,但是统计任意时点对某个字符串的答案是很难的;
因为如果暴力更新的话复杂度是O(nm),所以不能这么搞;
而延迟更新也没有什么好办法,只能去找打...
分类:
其他好文 时间:
2015-09-14 12:18:43
阅读次数:
205