平衡树
LowestJN
强省弱OIer
展开
-
[BZOJ3600][线段树][替罪羊树]没有人的算术
%%%vfk %%%陈老师本蒟蒻觉得用重量平衡树打tag像是在线的离散…… 看到这题的第一感觉也是能不能用很小的复杂度对每一次操作后离散一遍,感觉这确实是个好方法#include <cstdio>#include <iostream>#include <algorithm>#define N 600010using namespace std;struct lef{ lef *fa,原创 2017-02-16 17:10:48 · 565 阅读 · 0 评论 -
[BZOJ2733][HNOI2012][启发式合并][平衡树]永无乡
题意给定n个点,每个点有权值,操作会联通某两个点的联通块,或询问某联通块中的第k大的点。对每个点维护一个平衡树,对于联通的操作启发式合并,把size小的树每个点暴力拆开,插入到size大的树中。#include <cstdio>#include <iostream>#include <cstdlib>#include <algorithm>#define N 200010using name原创 2017-02-15 18:26:50 · 653 阅读 · 0 评论 -
[BZOJ3545][ONTAK2010][平衡树][STL][启发式合并]Peaks
STL tree练习题两个坑点BZOJ上编译器版本较低,定义tree的时候null_type要改成null_mapped_type讲道理splay_tree_tag要快一点,毕竟总复杂度是nlogn然而在BZOJ一直T,改成rb_tree_tag就过了……据说ov_tree_tag也过不了其他的就跟普通的平衡树启发式合并一样做就好了#include <cstdio>#include <ios原创 2017-03-23 21:44:03 · 956 阅读 · 0 评论 -
[BZOJ4923][Lydsy六月份月赛 .G][平衡树]K小值查询
直接上题解 学了发非旋转Treap,感觉常数有点大#include <cstdio>#include <iostream>#include <algorithm>using namespace std;const int N=100010;int n,m;int a[N];struct node{ node *l,*r; int val,fix,size,minus; node(原创 2017-06-29 19:18:22 · 1017 阅读 · 0 评论 -
[博弈 && Splay维护DFS序]BZOJ3729 .Gty的游戏
可以看成巴什博弈和NIM的游戏权值全部对L+1取模,然后只看子树中奇数层的亦或和是不是零就可以了。因为强制在线,所以只能有Splay来维护DFS序#include <cstdio>#include <iostream>#include <algorithm>#include <map>using namespace std;const int N=500010;map<int,int> M;原创 2017-09-27 13:40:03 · 300 阅读 · 0 评论 -
[ODT] Codeforces 896C. Willem, Chtholly and Seniorious
据ODT在CF上说,是一种叫ODT的树用平衡树维护区间,暴力修改维护这些区间。因为数据随机,所以跑得快…发现自己不会用SET………#include <cstdio>#include <iostream>#include <algorithm>#include <set>#include <map>#include <vector>#include <assert.h>#define m原创 2017-12-06 20:46:46 · 601 阅读 · 0 评论