亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

|BZOJ 3224|平衡樹|Tyvj 1728 普通平衡樹

2019-11-14 10:55:45
字體:
來源:轉載
供稿:網友

BZOJ傳送門 平衡樹模板題,注意相同元素的處理。 Treap:

#include<cstdio> #include<algorithm> #include<cstring> #include<vector> #define ms(i,j) memset(i,j, sizeof i); using namespace std; struct node{ node *ch[2];//左右孩子 int v, r;//值,優先級 int s;//附加值:以當前節點為根的結點數量 int w;//附加值:和當前節點相同值的結點數 void mt() { s = w; if (ch[0]!=NULL) s += ch[0]->s; if (ch[1]!=NULL) s += ch[1]->s; } };int ans;struct treap{ node *root; void rotate(int d, node *&o)//d=0則左旋 d=1則右旋 { node *k = o->ch[d^1]; o->ch[d^1] = k->ch[d]; k->ch[d] = o; o->mt(); k->mt(); o = k; } void insert(int x, node *&o)//插入一個數 { if (o==NULL) { o = new node(); o->v = x; o->r = rand(); o->s = o->w = 1; o->ch[0] = o->ch[1] = NULL; //初值 } else if (o->v==x) o->w++; //有相同直接w++ else { int d = (x < o->v ? 0 : 1); insert(x, o->ch[d]); if (o->ch[d]->r > o->r) rotate(d^1, o); } o->mt(); } void del(int x, node *&o)//刪除一個數 { int d = (x < o->v ? 0 : 1); if (o->v==x)//找到 { if (o->w>1) {o->w--; o->s--;} else//不止一個數就直接w--,s-- if (o->ch[0]==NULL) o = o->ch[1]; else if (o->ch[1]==NULL) o = o->ch[0]; else { int d2 = (o->ch[0]->r > o->ch[1]->r ? 1 : 0); rotate(d2,o); del(x, o->ch[d2]); } } else { del(x, o->ch[d]); } if (o!=NULL) o->mt(); } int rank(int x, node *o)//求x的排名 { int tmp; if (o->ch[0]==NULL) tmp = 0; else tmp=o->ch[0]->s;//求s if (o->v==x) return tmp+1;//找到了 else if (o->v >x) return rank(x,o->ch[0]); else return tmp+o->w+rank(x,o->ch[1]); } int kth(int k, node *o)//求第k小 { if (o==NULL||o->s<k||k<=0) return -1;//不符合要求 int tmp; if (o->ch[0]==NULL) tmp = 0; else tmp = o->ch[0]->s;//求s if (k<=tmp) return kth(k,o->ch[0]); else if (k > tmp+o->w) return kth(k - tmp - o->w,o->ch[1]); else return o->v;//找到了 } void PRed(int x, node *o)//求前驅 { if(o==NULL)return; if(o->v<x) { ans = o->v; pred(x, o->ch[1]); } else pred(x, o->ch[0]); } void succ(int x, node *o)//求后繼 { if(o==NULL)return; if(o->v>x) { ans = o->v; succ(x, o->ch[0]); } else succ(x, o->ch[1]); }};treap tree;int n;int main() { scanf("%d", &n); int opt,x; for (int i=1;i<=n;i++) { scanf("%d%d", &opt, &x); switch(opt) { case 1: tree.insert(x, tree.root); break; case 2: tree.del(x, tree.root); break; case 3: printf("%d/n", tree.rank(x, tree.root)); break; case 4: printf("%d/n", tree.kth(x, tree.root)); break; case 5: tree.pred(x,tree.root); printf("%d/n", ans); break; case 6: tree.succ(x,tree.root); printf("%d/n", ans); break; } } return 0; }
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品国产自产拍高清av水多| 国产欧美日韩高清| 91香蕉电影院| 日韩精品中文字幕有码专区| 91超碰caoporn97人人| 欧美男插女视频| 亚洲影院色在线观看免费| 色综合视频一区中文字幕| 久久久久久亚洲精品中文字幕| 久久久久久久国产精品| 亚洲第一区第二区| x99av成人免费| 国产精品视频网| 欧美精品免费看| 国产精品一区=区| 国产日韩换脸av一区在线观看| 国产成人精品久久二区二区| 91精品国产免费久久久久久| 国产精品在线看| 91成人天堂久久成人| 久久久女人电视剧免费播放下载| 日韩精品黄色网| 亚洲毛片一区二区| 国产精品欧美一区二区三区奶水| 久久久久999| 亚洲新声在线观看| 欧美精品一区二区免费| 国语自产在线不卡| 国产精品自产拍高潮在线观看| 91av在线播放视频| 韩国日本不卡在线| 中文字幕亚洲一区在线观看| 久久久天堂国产精品女人| 精品国产91久久久久久老师| 欧美日韩国产黄| 亚洲www永久成人夜色| 91人成网站www| 91福利视频在线观看| 国产在线精品播放| 亚洲成色www8888| 中文字幕日韩专区| 欧美日韩国内自拍| 欧美成人第一页| 伊人伊成久久人综合网小说| 国产精品99蜜臀久久不卡二区| 最新91在线视频| 欧美洲成人男女午夜视频| 国产精品久久久久久久久久免费| 4438全国成人免费| 国产精品99久久久久久久久| 中文字幕在线日韩| 最近2019中文字幕一页二页| 久久久精品国产一区二区| 国产精品美女无圣光视频| 中文字幕日韩av电影| 亚洲 日韩 国产第一| 亚洲国产精品va| 精品久久久在线观看| 亚洲精品国精品久久99热| 国产视频自拍一区| 久久久久久国产精品久久| 国产啪精品视频网站| 亚洲一区二区久久| 国产三级精品网站| 日本欧美爱爱爱| 日韩久久精品成人| 91香蕉亚洲精品| 欧美老女人性生活| 欧美有码在线视频| 伦伦影院午夜日韩欧美限制| 亚洲va男人天堂| 国产精品∨欧美精品v日韩精品| 91亚洲精品久久久久久久久久久久| 欧美成年人网站| 成人一区二区电影| 国产精品狼人色视频一区| 欧美在线国产精品| 久久久精品国产网站| xvideos亚洲人网站| 亚洲精品美女视频| 亚洲欧美国内爽妇网| 中文字幕久久久| 欧美日韩国产丝袜美女| 这里只有精品在线观看| 久久久久亚洲精品成人网小说| 中文字幕亚洲综合久久| 亚洲高清免费观看高清完整版| 欧美日韩国产一区二区三区| 亚洲级视频在线观看免费1级| 国外色69视频在线观看| 国产欧美精品一区二区三区介绍| 日韩成人av在线播放| 97视频免费在线看| 日韩中文字幕精品视频| 日韩国产欧美精品一区二区三区| 国产日本欧美在线观看| 久久成人精品一区二区三区| 日韩亚洲欧美中文在线| 久色乳综合思思在线视频| www.99久久热国产日韩欧美.com| 亚洲男人天堂2023| 欧美国产视频日韩| 久久精品中文字幕免费mv| 欧美怡红院视频一区二区三区| 66m—66摸成人免费视频| 亚洲成人激情小说| 国产精选久久久久久| 国产一区二区三区在线免费观看| 国内精品免费午夜毛片| 成人福利在线观看| 欧美专区在线视频| 精品av在线播放| 国产成人在线视频| 26uuu日韩精品一区二区| 国产一区二区三区直播精品电影| 一道本无吗dⅴd在线播放一区| 欧美激情在线狂野欧美精品| 欧美成人激情视频免费观看| 亚洲第一网站免费视频| 精品毛片三在线观看| 午夜精品国产精品大乳美女| 精品视频www| 88国产精品欧美一区二区三区| 欧美成人黑人xx视频免费观看| 国产欧美日韩免费看aⅴ视频| 精品久久久国产| 亚洲国产精品小视频| 色综合伊人色综合网站| 92国产精品久久久久首页| 国色天香2019中文字幕在线观看| 亚洲深夜福利网站| 精品久久久久久中文字幕大豆网| 国模精品系列视频| 久久资源免费视频| 国产精品99久久久久久久久| 亚洲欧美日韩在线高清直播| 性色av一区二区三区| 国产91精品最新在线播放| 日本19禁啪啪免费观看www| 自拍偷拍亚洲在线| 欧美性做爰毛片| 久久深夜福利免费观看| 亚洲wwwav| 2024亚洲男人天堂| 欧美最猛性xxxxx亚洲精品| www.午夜精品| 久久免费国产视频| 亚洲精品午夜精品| 亚洲人成网在线播放| 欧美亚洲午夜视频在线观看| 国产v综合v亚洲欧美久久| 国产综合久久久久| 精品一区二区三区四区| 91高潮在线观看| 欧美性感美女h网站在线观看免费| 亚洲女人天堂成人av在线| 欧美电影免费观看网站| 91国产美女在线观看| 亚洲老头同性xxxxx| 国产视频在线观看一区二区| 久久久久www| 欧美成人精品在线| 国产精品美女av| 日本亚洲欧洲色α|