摘要:
传送门 Splay的区间翻转:若要翻转[l, r],将l-1 Splay到根,将r+1 Splay到l-1的右儿子,然后[l, r]就在r+1的左儿子的位置了,给它打上标记,完工! 哦,写的时候一定要注意随时pushdown,以免出错.数组版/*******************... 阅读全文
posted @ 2015-11-22 16:43
geng4512
阅读(126)
评论(0)
推荐(0)
摘要:
传送门 第一次写Splay的区间操作,调了5+小时…… Splay区间操作的核心就是区间的提取 例如:要提取[5, 12] 就要把4 Splay到根,把13 Splay到4的右儿子,那么13的左儿子就是[5, 12]的所有信息。代码:#include#define MAXN 200... 阅读全文
posted @ 2015-11-22 16:38
geng4512
阅读(236)
评论(0)
推荐(0)
摘要:
传送门 平衡树查询第k大的裸题,用并查集来维护一下哪些猫是一组的就可以了。查询第k大要维护size域,保存一个节点下面的字数的大小,更新的时候从下边更新。#include#define MAXN 200005struct SBT { int v, sz, ch[2], cnt... 阅读全文
posted @ 2015-11-22 16:25
geng4512
阅读(225)
评论(0)
推荐(0)
摘要:
传送门 思路:当炸掉一个城市的时候,就把这个城市放入平衡树中(最开始的时候放入n+1和0),查询的时候输出这个数的后继-前驱-1,这就是答案。代码(写的Splay):#include#define MAXN 50005struct node { int v, ch[2], f... 阅读全文
posted @ 2015-11-22 16:17
geng4512
阅读(206)
评论(0)
推荐(0)
摘要:
传送门 这道题就是裸的平衡树的题目,操作都是模板,也就不多说了,重在代码。SBT:#includestruct SBT { int v, sz, ch[2], cnt;} t[300005];int n, cnt, root;#define Upd(k) {\ t[k]... 阅读全文
posted @ 2015-11-22 16:11
geng4512
阅读(194)
评论(0)
推荐(0)
摘要:
传送门 这是一道树链剖分的基础题目,只需要用线段树来维护重链上的节点信息,轻链一条一条爬就行了,在查询的时候可以先求出LCA然后查询两个点到LCA的信息然后合并就行了。 代码:/****************************************************... 阅读全文
posted @ 2015-11-22 16:04
geng4512
阅读(152)
评论(0)
推荐(0)
浙公网安备 33010602011771号