之前的坑一直没填,因为懒找不到题
当然坑还是要填的,但是由于本人懒实在不太能找到kd-tree的题了于是把坑从10道减到了5道_(:зゝ∠)_
先放出最后一题的链接吧,慢慢填
http://www.lydsy.com/JudgeOnline/problem.php?id=3815
我有一种预感,这坑要填很久
现在: 4/5
之前的坑一直没填,因为懒找不到题
当然坑还是要填的,但是由于本人懒实在不太能找到kd-tree的题了于是把坑从10道减到了5道_(:зゝ∠)_
先放出最后一题的链接吧,慢慢填
http://www.lydsy.com/JudgeOnline/problem.php?id=3815
我有一种预感,这坑要填很久
现在: 4/5
treap(tree+heap)平衡树;
结点定义如下:
struct Node{ Node *ch[2];//左右子树 int r,v;//优先级&值 int cmp(int x)const{if(x==v)return -1;return x>v;} };
解释一下,treap同时拥有值与优先级,即同时满足heap与BST性质,优先级是一个rand值
接下来就是旋转,旋转代码如下:
其实早就想存个档了(→_→)
优先队列,说白了就是会有急诊病人插队的情况,它基本不符合先进先出的准则。
优先队列也定义在头文件<queue>中,用 “priority_queue<int>Q" 声明,Q是一个越大的整数优先级越高的优先队列
当然也可以自定义优先级比较方法,与sort里的cmp类似,可用结构体完成,例如,要实现定义一个”个位数小的整数优先级高”的优先队列,构造结构体cmp:
今天就来口胡一下栈和队列吧,大神右上角↗
其实就是想存个档以后忘了好看下
#include<stack> 要使用堆栈需要调用stack头文件
stack给出了5种基本操作:
1.入栈:如s.push(x);
2.出栈:如 s.pop().注意:出栈操作只是删除栈顶的元素,并不返回该元素。
Host by is-Programmer.com | Power by Chito 1.3.3 beta | Theme: Aeros 2.0 by TheBuckmaker.com