1.题目描述:点击打开链接
2.解题思路:本题利用Treap树实现的名次树来完成这三种操作。由于操作比较复杂,因此我们利用离线算法来解决。可以实现把所有的D操作执行完,得到剩下的图,接着按照逆序逐步插入边,并在恰当的时机执行Q操作和C操作。用一棵名次树维护一个连通分量的点权,则C操作对应于名次树的一次修改操作(可以用一次删除和一次插入来实现),Q操作对应Kth操作,而执行D操作时,如果两个端点已...
分类:
其他好文 时间:
2015-08-31 01:09:05
阅读次数:
135
题意:给一个无向图,再给一系列操作(以下3种),输出最后的平均查询结果。(1)D X 删除第x条边。(2)Q X k 查询与点X相连的连通分量中第k大的点的权值。(3)C X v 将点X的权值改为v。吐槽:第一次写的人儿,WA,MLE,TLE各种惨。而且还好我写过splay,不然坑得更惨。耗时整整一...
分类:
其他好文 时间:
2015-08-26 11:54:04
阅读次数:
204
http://www.lydsy.com/JudgeOnline/problem.php?id=2658 枚举下边界,补集优化+扫描线+treap。详见题解:http://www.lydsy.com/JudgeOnline/problem.php?id=2658#includeusing name....
分类:
其他好文 时间:
2015-08-20 12:21:10
阅读次数:
646
https://uva.onlinejudge.org/index.php 可持久化fhp-treap。像线段树的可持久化一样自上至下,每次新建log(n)个节点即可。#includeconst int maxn=50015,maxlen=115;using namespace std;int n....
分类:
其他好文 时间:
2015-08-20 09:09:55
阅读次数:
81
http://www.lydsy.com/JudgeOnline/problem.php?id=1895 用来练习fhq_treap的题。#includeconst int maxn=100015;using namespace std;int n,m,a[maxn];struct Ttreap{....
分类:
其他好文 时间:
2015-08-19 23:09:57
阅读次数:
202
优雅的树状数组!人们发明了复杂度为logn的求解第k小的方法,常数小且代码量小,实在是用来求解本类题目的最佳方法,可惜的是我的Treap超时了...... 1 #include 2 #include 3 #include 4 using namespace std; 5 6 const in...
分类:
编程语言 时间:
2015-08-18 21:03:07
阅读次数:
140
BZOJ 1604 [Usaco2008 Open]Cow Neighborhoods 奶牛的邻居 Treap...
分类:
其他好文 时间:
2015-08-18 07:57:38
阅读次数:
103
考虑按x坐标排序后分治,只需考虑计算左下角在[l,mid],右上角在[mid+1,r]的矩形数。对于[l,mid]的点,从右往左考虑,求出它可以贡献到的纵坐标区间。对于[mid+1,r]的点,从左往右考虑,求出它可以接受的纵坐标区间。然后扫描线+Treap维护即可,时间复杂度$O(n\log^2n)...
分类:
其他好文 时间:
2015-08-18 06:33:03
阅读次数:
367
真的只用set和string就行了。如果使用PASCAL的同学可能就要写个treap什么的了,还要用ansistring。#include#include#include#include#includeusing namespace std;string s;string now;set dict;...
分类:
其他好文 时间:
2015-08-14 11:39:46
阅读次数:
131