![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
———平衡树
MissZhou要努力
不晓日月,不辩兰艾,终日碌碌,安与燕雀相随乎
展开
-
POJ 3468 A Simple Problem with Integers 【splay树入门题】
Description给出了一个序列,你需要处理如下两种询问。"C a b c"表示给[a, b]区间中的值全部增加c (-10000≤ c ≤ 10000)。"Q a b" 询问[a, b]区间中所有值的和。Input第一行包含两个整数N,Q。1≤ N,Q ≤ 100000.第二行包含n个整数,表示初始的序列A (-100000原创 2016-04-12 18:57:34 · 502 阅读 · 0 评论 -
hdu5249KPI【treap】
Description你工作以后, KPI 就是你的全部了. 我开发了一个服务,取得了很大的知名度。数十亿的请求被推到一个大管道后同时服务从管头拉取请求。让我们来定义每个请求都有一个重要值。我的KPI是由当前管道内请求的重要值的中间值来计算。现在给你服务记录,有时我想知道当前管道内请求的重要值得中间值。 Input有大约100组数据。 每组数据第一行原创 2015-09-26 10:43:50 · 366 阅读 · 0 评论 -
2015长春网络赛hdu5444Elven Postman搜索二叉树
酱油的网络赛啊~工大大牛来上课才又做了下,然而还是改了n久 差点忘了orz#include #include#includeusing namespace std;#define N 1010int L[N],R[N],pre,root,t,q,n;void find_path(int x){ if(x>pre) { if(L[pre]==0)原创 2015-10-03 17:20:15 · 430 阅读 · 0 评论 -
五张图带你体会堆算法
什么是堆堆(heap),是一类特殊的数据结构的统称。它通常被看作一棵树的数组对象。在队列中,调度程序反复提取队列中的第一个作业并运行,因为实际情况中某些时间较短的任务却可能需要等待很长时间才能开始执行,或者某些不短小、但很重要的作业,同样应当拥有优先权。而堆就是为了解决此类问题而设计的数据结构。二叉堆是一种特殊的堆,二叉堆是完全二叉树或者近似完全二叉树,二叉转载 2015-10-04 20:50:59 · 880 阅读 · 0 评论 -
poj3481double queue【treap树入门题】
9月份那会工大的大神过来讲课,像是被催眠似的昏睡了大半节课,拖延症晚期患者终于下决心要开始重新学习平衡树。不看不知道,一看吓一跳。原来treap树、splay树都是平衡树==我还在假期学习计划里面分开列了==丢人丢大发了orz 而treap树就是堆树,利用大根堆或者小根堆的性质以及随机给出的优先级建的树,实在是忘得太狠了==由于本人实在不喜欢一堆指针的模板,于是乎在网上找了这个:点击打开链接 而且原创 2016-01-26 15:58:55 · 965 阅读 · 0 评论 -
poj3580supermemo【splay】
DescriptionYour friend, Jackson is invited to a TV show called SuperMemo in which the participant is told to play a memorizing game. At first, the host tells the participant a sequence of numb原创 2016-04-24 11:13:16 · 556 阅读 · 0 评论 -
hdu3487Play with Chain【splay】
两种操作:1.减下来一段按顺序贴到某点前面 :就是木板上delete函数和insert函数和在一起了2.反转区间原创 2016-04-24 11:01:04 · 688 阅读 · 0 评论 -
poj1442blacks boxs【treap树】
1A~果然上午看小说,中午吃好吃的,下午效率高23333说题意,有两种操作 add和query,query每次查询的是第i小的,i是从0开始的,查询之前i++,查询之后不删除。告诉你add数字的依次次序,又告诉你当数组当前有几个数的时候进行了一次查询(这句话我结合示例看了好久才明白什么意思)然后就是小case了/*************poj14422016.1.26984K 20原创 2016-01-26 17:03:42 · 839 阅读 · 0 评论 -
hdu1512 Monkey King【左偏堆、并查集】
今天临“放学”看了好久左偏堆未果,直到下载了一个课件==我们定义节点i为外节点,当且仅当i的左子树或右子树为空。 一个节点的距离为他到他后代中,最近的外节点所经过的边数。特别的,如果一个节点本身为外节点,则这个节点的距离为0。一棵子树的距离为这棵子树根节点的距离。为了方便,空节点的距离为-1。 左偏树的左偏性质即左偏树的每个节点左子节点的距离都不小于右子节点的距离。 即:原创 2016-02-05 00:10:26 · 967 阅读 · 0 评论 -
[HNOI2002]营业额统计 【splay无初始数组,单点插入找最值】
之前做的splay都是给定原始数组,在原始数组上修改单点值,这个题没有原始数组,其实都是一样的,多了一个insert函数而已,之前一直纠结于如何找出与最新插入数字最接近的数字,忘记了splay的最大特征:将操作的对象转到根节点并维护左小右大,所以说,插入新值之后左子树最大的和右子树最小的一定有一个离的最近!原创 2016-04-13 17:12:29 · 394 阅读 · 0 评论 -
poj2352stars【treap树水题】
又是审题!虽说好多网友都被坑在这里了==说题意:给出的这些坐标只考虑小于等于自身横坐标的个数(不包括自己)分别有多少点的这种个数是在0~n-1范围内的 裸的treap不解释/****************poj23522016.1.261040K 469MS G++ 1648B****************/#include #include #include #inc原创 2016-01-26 22:29:54 · 734 阅读 · 0 评论 -
hdu4585 shaolin【 Treap模板题】
一个模板题卡了将近一上午,忧伤题意:少林的和尚入学,依次入学,每人有一个独一无二的id和独一无二的水平值(由于这句,可以不用修改模板),到校之后与跟他水平相近的干仗,老方丈的id=1,水平是1,000,000,000(把这个数insert你就废了==),已知入学顺序和水平值,问每个人跟谁干仗。研究半天treap模板,值满足二叉搜索树,优先级满足大根堆,优先级可以用系统随机数然后unique原创 2016-04-04 11:12:06 · 677 阅读 · 0 评论 -
hdu1754 I hate it【splay树】
Description很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。 这让很多学生很反感。 不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。 Input本题目包含多组测试,请处理到文件结束。 在每个测试的第一行,有两个正整数 N 和原创 2016-04-12 19:12:55 · 523 阅读 · 0 评论 -
POJ 1442 Black Box【treap模板】
题意:给一个序列,然后给出m个查询,每次查询输入一个数x,对于第i次查询,输出前x个数中第i大的关键字的值。昨晚上课就像被催眠了一般……orz 晚上套模板还不对T^T 大神给的标程自己的编译器都通过不了是什么鬼还是ACdreamer的模板靠谱#include#include#include#include#include#include#includ原创 2015-09-26 10:41:12 · 429 阅读 · 0 评论