treap
文章平均质量分 57
GEOTCBRL
?????
展开
-
【 bzoj 1500 】NOI2005 维修序列 - 平衡树乱搞 treap
嘛。。。又是屯了一年多的题。。。然而之前太弱了调不出来QAQ 随便一个可以提取区间的平衡树都可以搞这道题。 然后这题的splay我写过3个版本了。。。QAQ 为了写WC2016的T3,用treap写了一发这题练练手。 似乎没啥东西需要注意的。代码还好长,以后想办法缩一缩吧。。。原创 2016-02-02 23:31:14 · 1644 阅读 · 0 评论 -
【 bzoj 3065 】 带插入区间K小值 - 树套树乱搞
这题写的真是excited。。。 虽然树套树这种东西随便嘴巴嘴巴就会了。。。但是写起来还是十分的蛋疼。。。 下午四点左右开始写,到将近七点写完,然后吃饭+思考人生了一小时,又开始debug,将近十二点时过对拍,洗了发澡冷静了一下,然后轰炸评测机= =十二点半左右时AC。 最后发现是因为线段树值域开小了。。。orz。。。 带插入带修改的区间K小值是有很多做法的,然后我看VFK给原创 2016-02-04 01:00:22 · 1157 阅读 · 0 评论 -
GDKOI2015 day 1 代码
项链:#include using namespace std;#define rep(i,a,b) for (int i = a , _ = b ; i <= _ ; i ++)#define per(i,a,b) for (int i = a , _ = b ; i >= _ ; i --)#define cr(x) memset(x , 0 , sizeof x)inline原创 2016-02-17 17:52:00 · 1211 阅读 · 0 评论 -
【 bzoj 1014 】 [JSOI2008]火星人prefix
用平衡树瞎维护一下哈希串即可。 不知道为啥这题写Treap这么慢= = P.S.提取出区间之后一定要判断是否为空区间!插入的时候计数器也要++!#include <bits/stdc++.h>using namespace std;#define rep(i,a,b) for (int i = a , _ = b ; i <= _ ; i ++)#define per(i,a,b)原创 2016-02-04 19:09:32 · 1029 阅读 · 0 评论 -
【 bzoj 3545 】 [ONTAK2010]Peaks - Treap快速合并
听说这题有在线做法……?YY了一下似乎要把各种东西都给可持久化掉。。。好麻烦。。。原创 2016-02-04 19:19:37 · 1202 阅读 · 0 评论 -
【bzoj 3946】 无聊的游戏 - 线段树套可持久化Treap
蜜汁卡常卡过去了。。。 考虑用线段树维护区间的LCP,如果设height[i]=LCP(S[i],S[i+1])height[i]=LCP(S[i],S[i+1]),那么LCP(S[l]...S[r])=min(height[l]...height[r−1])LCP(S[l]...S[r])=\min (height[l]...height[r-1])。 只要能快速维护heighthei原创 2016-12-25 19:15:26 · 1357 阅读 · 0 评论 -
CodeChef FEB14 COT5
来自2016集训队作业。你需要维护一棵带插入和删除的treap,多次询问某两点间的treap上距离。原创 2017-06-17 22:13:26 · 799 阅读 · 0 评论