2-3-4 tree留坑
#include<bits/stdc++.h>
#define LL long long
#define pii pair<int,int>
#define mp make_pair
using namespace std;
const int maxx = 2e5+;
const double alpha = 0.75;
struct node{
int l,ml,mr,r;
int val[];
int size;
int fa;
}tree[maxx];
int cnt=;
int root;
int newnode(int w,int fa){
tree[++cnt].size=;
tree[cnt].val[]=w;
tree[cnt].fa=fa;
return cnt;
}
int inserts(int rt,int w){
int fa;
if (tree[rt].size==){
if (rt==root){
root=newnode(tree[rt].val[],-);
rt=root;
tree[root].l=newnode(tree[rt].val[],root);
tree[root].ml=newnode(tree[rt].val[],root);
tree[tree[root].l].l=tree[rt].l;
tree[tree[root].l].ml=tree[rt].ml;
tree[tree[root].ml].l=tree[rt].mr;
tree[tree[root].ml].ml=tree[rt].r;
}else {
int fa=tree[rt].fa;
if (tree[fa].size==){
if (tree[rt].val[]<tree[fa].val[]){
tree[fa].mr=tree[fa].ml; tree[fa].ml=newnode(tree[rt].val[],fa);
tree[tree[fa].ml].l=tree[rt].mr;
tree[tree[fa].ml].ml=tree[rt].r; tree[fa].l=newnode(tree[rt].val[],fa);
tree[tree[fa].l].l=tree[rt].l;
tree[tree[fa].l].ml=tree[rt].ml; tree[fa].val[]=tree[fa].val[];
tree[fa].val[]=tree[rt].val[]; }else {
tree[fa].val[]=tree[rt].val[];
tree[fa].ml=newnode(tree[rt].val[],fa);
tree[fa].mr=newnode(tree[rt].val[],fa);
tree[tree[fa].ml].l=tree[rt].l;
tree[tree[fa].ml].ml=tree[rt].ml;
tree[tree[fa].mr].l=tree[rt].mr;
tree[tree[fa].mr].mr=tree[rt].r;
}
}else if (tree[fa].size==){
if (tree[rt].val[]<tree[fa].val[]){
tree[fa].val[]=tree[fa].val[];
tree[fa].val[]=tree[fa].val[];
tree[fa].val[]=tree[rt].val[];
tree[fa].r=tree[fa].mr;
tree[fa].mr=tree[fa].ml;
tree[fa].ml=newnode(tree[rt].val[],fa);
tree[fa].l=newnode(tree[rt].val[],fa);
tree[tree[fa].ml].l=tree[rt].mr;
tree[tree[fa].ml].ml=tree[rt].r;
tree[tree[fa].l].l=tree[rt].l;
tree[tree[fa].l].ml=tree[rt].ml;
}else if (tree[rt].val[]<tree[fa].val[]){
tree[fa].val[]=tree[fa].val[];
tree[fa].val[]=tree[rt].val[];
tree[fa].r=tree[fa].mr;
tree[fa].ml=newnode(tree[rt].val[],fa);
tree[fa].mr=newnode(tree[rt].val[],fa);
tree[tree[rt].ml].l=tree[rt].l;
tree[tree[rt].ml].ml=tree[rt].ml;
tree[tree[rt].mr].l=tree[rt].mr;
tree[tree[rt].mr].mr=tree[rt].r;
}else {
tree[fa].val[]=tree[rt].val[];
tree[fa].mr=newnode(tree[rt].val[],fa);
tree[fa].r=newnode(tree[rt].val[],fa);
tree[tree[fa].mr].l=tree[rt].l;
tree[tree[fa].mr].ml=tree[rt].ml;
tree[tree[fa].r].l=tree[rt].ml;
tree[tree[fa].r].ml=tree[rt].mr;
}
}
}
}
rt=fa;
if (w<tree[rt].val[]) }
int main(){
scanf("%d")
return ;
}
2-3-4 tree留坑的更多相关文章
- CPU虚拟化技术(留坑)
留坑~~~ 不知道这个是这么实现的 CPU虚拟化技术就是单CPU模拟多CPU并行,允许一个平台同时运行多个操作系统,并且应用程序都可以在相互独立的空间内运行而互不影响,从而显著提高计算机的工作效率.虚 ...
- 【留坑】uva12299
这么sb的题本来想练练手记过就是过不了 拍半天也没问题 留坑 哪天有空了去linux下面试试 #include<cstdio> #include<cstring> #inclu ...
- 【问题解决方案】Git bash进入多层子目录问题(通配符问题留坑)
cd进入指定路径下:cd 斜杠 斜杠 方法一: 1- 撇丿,不是"那",盘符前面要加上 / (d盘前面也加,不加也行) 2- 路径名不区分大小写 3- 不用空格 4- 如果目录名中 ...
- 2.18比赛(T2,T3留坑)
2.18比赛(T2,T3留坑) pdf版题面 pdf版题解 超越一切(ak) [题目描述] 夏洛可得到一个(h+1)×(w+1)的巧克力,这意味着她横着最多可 以切 h 刀,竖着最多可以切 w 刀 她 ...
- [kuangbin带你飞]专题十一 网络流个人题解(L题留坑)
A - ACM Computer Factory 题目描述:某个工厂可以利用P个部件做一台电脑,有N个加工用的机器,但是每一个机器需要特定的部分才能加工,给你P与N,然后是N行描述机器的最大同时加工数 ...
- 题解 queen(留坑)
传送门 博客园突然打不开了,奇奇怪怪的-- 少写个等号没看出来 nm写反了没看出来 考完5min全拍出来了 手残属性加持 不对拍等于爆零 yysy,我连卢卡斯定理的存在都忘了-- 发现要让一大堆皇后能 ...
- 题解 Six(留坑)
传送门 考场上搞了个三进制状压,结果正确性假了-- 有想到从约数下手,但觉得就光预处理约数复杂度就爆炸就没往这边想-- 首先是关于约数个数的证明,再一次感谢战神: 因为 \(n = \prod p_i ...
- 题解 c(留坑)
传送门 这题卡常--而且目前还没有卡过去 首先以原树重心为根,向所有子树重心连边,可以建立一棵点分树 点分树有两个性质: 一个是树高只有log层 另一个是两点在点分树上的lca一定在原树上两点间的树上 ...
- C++学习记录(留坑)
#include <iostream> #include <ctime> #include <fstream> ///文件打开有o.i权限 #include < ...
随机推荐
- TP5.1 分页CSS样式(转载)
效果如图: 1.在extend\目录下创建page目录,在page目录中创建Page.php文件,将以下代码放入文件中 <?php namespace page; use think\Pagin ...
- iview 中table列 一列显示多个数据(后台返回数组显示在列内)
一.首先出现的是比较复杂的一种情况(多个key) 1.首先页面显示效果如下 2.后台返回数据格式如下: 3.在iview中table的columns中的render函数: 4.具体代码 render: ...
- Django用户登陆以及跳转后台管理页面2
请先写好以下,再来替换文件 Django用户登陆以及跳转后台管理页面1http://www.cnblogs.com/ujq3/p/7891774.html from django.shortcuts ...
- 解决pycharm新建工程项目都需要重新安装库问题
在新建一个工程项目后,发现之前安装的库均不在了.想要使用的情况下还得重新安装.这样也太不智能了,一定会有解决的办法.查找相关文档后,发现在新建工程项目的时候需要进行选择是否使用以前的环境. 选择已存在 ...
- Codeforces 375A
这是一道数学题,真是很考验数学思维,之前也遇到过相似的问题,但是依然是想不到点子上,就这提而言,最重要的就是 能否发现由 1, 6, 8,9这四个数字组成的排列对7取模是可以得到0, 1, 2, 3, ...
- gb2312的6763个汉字
0a啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸白柏百摆佰败拜稗斑班搬扳般颁板版扮拌伴瓣半办绊邦帮梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥薄雹保堡 ...
- CodePlus2017 12月月赛 div2火锅盛宴
当时看到这道题感觉真是难过,我数据结构太弱啦. 我们来看看需要求什么: 1.当前熟了的食物的最小id 2.当前熟了的食物中有没有编号为id的食物 3.当前没熟的食物中有没有编号为id的食物 4.当前没 ...
- var与let循环中经典问题
循环1: 下面代码运行结果是输出10 <script> var a =[]; for(var i = 0;i<10;i++){ a[i] = function(){ consol ...
- Directx11教程(64) tessellation学习(6)-PN Triangles
原文:Directx11教程(64) tessellation学习(6)-PN Triangles 前面我们用tessellation细分三角形或者四边形,产生的细分点都是在三角形或四边形 ...
- jQuery打飞机游戏
在线演示 本地下载