你人没了
你人没了
全部文章
分类
acm(47)
fft(1)
博弈(1)
心绪(2)
日记(1)
未归档(54)
树状数组(2)
鸟哥的私房菜(服务器篇)(2)
归档
标签
去牛客网
登录
/
注册
你人没了的博客
全部文章
(共110篇)
动态树的经典应用
——————摘自《高级数据结构》 1。求最近公共祖先 基于动态树的基本操作,我们很容易在较短的时间内求得任意两个结点u和结点v(在同一棵树中)的最近公共祖先。首先对u执行access(u)操作,同时记录被访问过的结点(在平衡树上打标机即可);然后执行access(v)操作,当第一次碰到已经访问过的...
2019-04-27
0
348
动态树的具体操作
-------------------(摘自《高级数据结构》) 用splay维护实路径, 用深度作为关键字给节点排序,那么我们将得到唯一一个有序节点。 在实现操作之前,我们还需要维护一些额外信息。为了能够在这些实路径之间建立关系,使得我们能够知道这些路径在树结构中的组织方式,我们要为每一颗spla...
2019-04-27
0
312
不能再颓了
昨天颓了一个晚上玩手游,不能再这样下去了
2019-04-26
0
552
lcttree-补坑
常用功能 1.修改 这里的修修改可以针对单个元素的,如修改单个点的点权或者单条边的边权;也可以是针对一个特定范围的,比如从某个点到其根节点的路径上的所有边权,或者某两个点之家你的所有边权等等。 2.查询 除了经典的查询边权或者点权等类似信息之外,由于动态书维护的是森林信息,所以还可以查询某个节点所在...
2019-04-26
0
387
lct-tree留坑
学习lct-tree,留坑
2019-04-25
0
307
treap增加操作查询操作
//递归到叶子节点,一路维护信息即可 //查询排名 int query_rank(int k,int x){ if (k==0) return 0; if (tr[k].v==x) return tr[tr[k].l].size+1; else if (x>tr[k].v) r...
2019-04-25
0
356
treap初步,建树,更新,旋转,插入,删除操作
//建树 struct data{ int l,r,v,size,rnd,w; }tr[100005]; int n,size,root,ans; void update(int k){ tr[k].size=tr[tr[k].l].size+tr[tr[k].r].size+...
2019-04-24
0
388
splay添加两个操作
找一个节点的前驱: int findpre(int x){ int left=leftson[x]; while (righton[left]) left=rightson[left]; return left; } 找一个节点的后继: int findsuc(int x){ int...
2019-04-24
0
264
又复习了一遍splay板子
void right_rotate(int x) { int y=fa[x]; int z=fa[y]; fa[rightson[x]]=y; if (rightson[x]) { leftson[y]=rightson[x]; } fa[x]=z; if (z){ if (le...
2019-04-24
0
453
splay板子
解锁新技能,伸展树,splay基于平衡二叉树,可以查询前驱和后继,保证差值最小哦 以x为主人公 右旋 无图(自行脑补qaq) y节点为x节点的父节点,z节点为y节点的父节点(前置) 1.如果x节点存在右节点,那么就把它作为y节点的左儿子,更新x的右儿子的父亲为y节点。 void right_r...
2019-04-23
0
353
首页
上一页
2
3
4
5
6
7
8
9
10
11
下一页
末页