做网站哪个好自己做个购物网站
做网站哪个好,自己做个购物网站,官方网站建设 找磐石网络一流,自己做的网站打开速度慢我的第一道treap题目#xff0c;treap的模版题。 代码是对着hzw的敲的#xff0c;一边敲一边理解。。。 主要是熟悉一下treap的各种基本操作#xff0c;详细细节看代码。 #includecstdio
#includeiostream
#includecstring
#includecstdlib…我的第一道treap题目treap的模版题。 代码是对着hzw的敲的一边敲一边理解。。。 主要是熟悉一下treap的各种基本操作详细细节看代码。 #includecstdio
#includeiostream
#includecstring
#includecstdlib
using namespace std;
struct point
{int l,r,v,rnd,size,w;
}tree[100005];
int n,size0,root0,ans;
void update(int k)
{tree[k].sizetree[tree[k].l].sizetree[tree[k].r].sizetree[k].w;
}
void rturn(int t)
{int ktree[t].l;tree[t].ltree[k].r;tree[k].rt;tree[k].sizetree[t].size;update(t);tk;
}
void lturn(int t)
{int ktree[t].r;tree[t].rtree[k].l;tree[k].lt;tree[k].sizetree[t].size;update(t);tk;
}
void insert(int k,int x)
{if(k0){size;ksize;tree[k].sizetree[k].w1;tree[k].vx;tree[k].rndrand();return;}tree[k].size;if(tree[k].vx)tree[k].w;else if(xtree[k].v){insert(tree[k].r,x);if(tree[tree[k].r].rndtree[k].rnd)lturn(k);}else {insert(tree[k].l,x);if(tree[tree[k].l].rndtree[k].rnd)rturn(k);}
}
void del(int k,int x)
{if(k0)return ;if(tree[k].vx){if(tree[k].w1){tree[k].w--;tree[k].size--;return;}if(tree[k].l*tree[k].r0)ktree[k].ltree[k].r;else if(tree[tree[k].l].rndtree[tree[k].r].rnd)rturn(k),del(k,x);else lturn(k),del(k,x);}else if(xtree[k].v)tree[k].size--,del(tree[k].r,x);else tree[k].size--,del(tree[k].l,x);
}
int get_rank(int k,int x)
{if(k0)return 0;if(tree[k].vx)return tree[tree[k].l].size1;else if(tree[k].vx)return tree[tree[k].l].sizetree[k].wget_rank(tree[k].r,x);else return get_rank(tree[k].l,x);
}
int get_x(int k,int x)
{if(k0)return 0;if(xtree[tree[k].l].size)return get_x(tree[k].l,x);else if(xtree[tree[k].l].sizetree[k].w)return get_x(tree[k].r,x-tree[tree[k].l].size-tree[k].w);else return tree[k].v;
}
void get_big(int k,int x)
{if(k0)return;if(tree[k].vx){ansk;get_big(tree[k].r,x);}else get_big(tree[k].l,x);
}
void get_small(int k,int x)
{if(k0)return ;if(tree[k].vx){ansk;get_small(tree[k].l,x);}else get_small(tree[k].r,x);
}
int main()
{scanf(%d,n);int opt,x;for(int i1;in;i){scanf(%d %d,opt,x);switch(opt){case 1:insert(root,x);break;case 2:del(root,x);break;case 3:printf(%d\n,get_rank(root,x));break;case 4:printf(%d\n,get_x(root,x));break;case 5:ans0;get_big(root,x);printf(%d\n,tree[ans].v);break;case 6:ans0;get_small(root,x);printf(%d\n,tree[ans].v);break;}}return 0;
} 万分感谢黄学长啊啊啊啊转载于:https://www.cnblogs.com/JKAI/p/6935265.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/87533.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!