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

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

【BZOJ 1251】序列終結者

2019-11-14 09:05:49
字體:
來源:轉載
供稿:網友

Splay的序列操作 注意: 更新的時候,要先確定子樹不為空在進行更新。 空指針的mx值要設為-inf

#include <cstdio>#include <iostream>#include <algorithm>using namespace std;const int maxn = 50010;struct node{ int num, val, size, turn, mx, add; node *PRe, *ch[2]; void update(){ size = ch[0]->size + ch[1]->size + 1; mx = max(max(ch[0]->mx, ch[1]->mx), val); } int wh(){return pre->ch[0] == this ? 0 : 1;} void set_ch(int wh, node *child);}pool[maxn], *root, *null;void node::set_ch(int wh, node *child){ ch[wh] = child; if(child != null) child->pre = this; update();}int cnt, n, m;node *get(int num, int val){ node *now = &pool[++cnt]; now->mx = now->val = val, now->num = num, now->size = 1; now->pre = now->ch[0] = now->ch[1] = null; now->turn = now->add = 0; return now;}void down(node *now){ if(now->add != 0){ if(now->ch[0] != null) { now->ch[0]->add += now->add; now->ch[0]->mx += now->add; now->ch[0]->val += now->add; } if(now->ch[1] != null){ now->ch[1]->add += now->add; now->ch[1]->mx += now->add; now->ch[1]->val += now->add; } now->add = 0; } if(now->turn != 0){ now->turn = 0; swap(now->ch[0]->ch[0], now->ch[0]->ch[1]); swap(now->ch[1]->ch[0], now->ch[1]->ch[1]); now->ch[0]->turn ^= 1; now->ch[1]->turn ^= 1; }}node *find(int num){ node *now = root; int rank = num; while(now != null){ down(now); if(now->ch[0]->size+1 == rank) return now; else if(now->ch[0]->size+1 < rank){ rank -= now->ch[0]->size+1; now = now->ch[1]; }else now = now->ch[0]; } return null;}void rotate(node *now){ node *fa = now->pre, *gra = now->pre->pre; int wh = now->wh(); fa->set_ch(wh, now->ch[wh^1]); now->set_ch(wh^1, fa); now->pre = gra; if(gra != null) gra->ch[gra->ch[0] == fa ? 0 : 1] = now;}void splay(node *now, node *tar){ for( ; now->pre != tar; rotate(now)) if(now->pre->pre != tar) now->wh() == now->pre->wh() ? rotate(now->pre) : rotate(now); if(tar == null) root = now;}void insert(int num, int val){ node *now = root, *last = null; while(now != null){ last = now; if(now->num > num) now = now->ch[0]; else now = now->ch[1]; } now = get(num, val); if(last == null) root = now; else{ if(num < last->num) last->set_ch(0, now); else last->set_ch(1, now); splay(now, null); }}int main(){ null = pool; null->add = null->num = 0, null->mx = -2e9; null->turn = null->size = null->val = 0; null->ch[0] = null->ch[1] = null->pre = null; root = null; scanf("%d%d", &n, &m); insert(0, 0), insert(n+1, 0); for(int i = 1; i <= n; i ++) insert(i, 0); for(int i = 1; i <= m; i ++){ int a, b, c, d; scanf("%d%d%d", &a, &b, &c); if(a == 1){ scanf("%d", &d); node *l = find(b), *r = find(c+2); splay(r, null), splay(l, r); l->ch[1]->add += d; l->ch[1]->val += d; l->ch[1]->mx += d; }else if(a == 2){ node *l = find(b), *r = find(c+2); splay(r, null), splay(l, r); l->ch[1]->turn ^= 1; swap(l->ch[1]->ch[0], l->ch[1]->ch[1]); }else{ node *l = find(b), *r = find(c+2); splay(r, null), splay(l, r); printf("%d/n", l->ch[1]->mx); } } return 0;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日本一区二区三区在线播放| 欧美日韩国产精品一区二区不卡中文| 亚洲欧美一区二区三区久久| 97人人做人人爱| 国产精品久久久久久久久久ktv| 伊人av综合网| 亚洲国产精品人久久电影| 久久人体大胆视频| 亚洲精品一区二区三区婷婷月| 色午夜这里只有精品| 九九精品视频在线| 欧美视频一区二区三区…| 午夜精品久久久久久久男人的天堂| 久久久精品一区二区| 国产视频精品免费播放| xvideos亚洲| 国产亚洲视频中文字幕视频| 欧美激情在线视频二区| 91在线观看免费高清完整版在线观看| 搡老女人一区二区三区视频tv| 中文字幕日韩av| 国产成人精品视频在线观看| 欧美另类69精品久久久久9999| 亚洲欧美国产日韩中文字幕| 久久精品国产一区二区电影| 日韩精品免费看| 亚洲成人精品视频在线观看| 97**国产露脸精品国产| 97人洗澡人人免费公开视频碰碰碰| 亚洲激情电影中文字幕| 精品国产区一区二区三区在线观看| 欧美在线视频网站| 国产精品视频精品视频| 米奇精品一区二区三区在线观看| 69av成年福利视频| 久久久影视精品| 亚洲乱码一区av黑人高潮| 日韩在线观看网站| 91中文在线观看| 91伊人影院在线播放| 91在线观看免费观看| 欧美理论电影网| 午夜精品一区二区三区在线播放| 久久精品国产69国产精品亚洲| 91av免费观看91av精品在线| 91国内产香蕉| 亚洲一区久久久| 在线电影中文日韩| 一道本无吗dⅴd在线播放一区| 91香蕉亚洲精品| 国产又爽又黄的激情精品视频| 欧亚精品中文字幕| 午夜精品久久17c| 精品av在线播放| 国产suv精品一区二区三区88区| 欧美尤物巨大精品爽| 国产中文字幕91| 青青久久av北条麻妃黑人| 亚洲人成伊人成综合网久久久| 91社区国产高清| 色偷偷噜噜噜亚洲男人的天堂| 亚洲成人精品久久久| 狠狠做深爱婷婷久久综合一区| 亚洲欧美色婷婷| 欧美精品久久一区二区| 亚洲最大的网站| 在线精品播放av| 欧美综合在线观看| 亚洲电影成人av99爱色| 97精品国产97久久久久久免费| 欧美疯狂性受xxxxx另类| 亚洲天堂av综合网| www.欧美三级电影.com| 日韩欧美在线观看| 亚洲激情电影中文字幕| 久久伊人精品天天| 国产中文字幕亚洲| 久久精品视频播放| 亚洲人成电影在线播放| 欧美刺激性大交免费视频| 欧美黄色www| 丝袜一区二区三区| 9.1国产丝袜在线观看| 久久精品国产清自在天天线| 国产精品美女久久久免费| 亚洲精品电影网站| 91av在线看| 国产午夜精品视频| 国产精品久久久久久久一区探花| 日韩欧美国产视频| 国产福利视频一区二区| 亚洲丝袜一区在线| 国产91精品青草社区| 91精品国产高清久久久久久91| 亚洲欧美日韩一区二区在线| 亚洲精品av在线| 欧美国产欧美亚洲国产日韩mv天天看完整| 国产欧美日韩精品专区| 久久夜色精品国产亚洲aⅴ| 久久久久亚洲精品| 91久久久精品| 精品久久中文字幕| 国产自产女人91一区在线观看| 久久久www成人免费精品| 欧美中在线观看| 久久久久久久一| 精品国产一区二区三区久久久狼| 久久精品免费播放| 久久亚洲私人国产精品va| 免费成人高清视频| 国产深夜精品福利| 91视频国产高清| 欧亚精品中文字幕| 日韩欧美成人网| 91色中文字幕| 91福利视频在线观看| 欧美日韩一区二区三区在线免费观看| 亚洲人成网站在线播| 色午夜这里只有精品| 国产区精品视频| 狠狠综合久久av一区二区小说| 日韩欧美亚洲范冰冰与中字| 国内精品久久久久| 欧美日韩成人在线视频| 中文字幕欧美精品在线| 欧美中文在线字幕| 精品国产欧美一区二区三区成人| 97视频在线观看播放| 亚洲美女在线视频| 亚洲视频欧美视频| 亚洲色图色老头| 92看片淫黄大片看国产片| 国产自摸综合网| 91成人在线观看国产| 97精品国产97久久久久久| 97色在线观看免费视频| 在线观看日韩www视频免费| 91久久久久久久久| 国产精品27p| 久久99热这里只有精品国产| 高清在线视频日韩欧美| 欧美午夜xxx| 久久久久中文字幕2018| 国产精品91免费在线| 91精品视频专区| 国产精品久久久精品| 亚洲高清在线观看| 欧美亚洲一级片| 福利一区福利二区微拍刺激| 人体精品一二三区| 国产日韩精品在线观看| 国产精品免费久久久久影院| 久久亚洲综合国产精品99麻豆精品福利| 国产香蕉一区二区三区在线视频| 欧美中在线观看| 欧美激情综合色综合啪啪五月| 日韩成人在线网站| 国产精品2018| 亚洲第一网站男人都懂| www.日本久久久久com.| 久久天天躁狠狠躁夜夜躁| 在线看福利67194| 欧美贵妇videos办公室| 日本久久久久亚洲中字幕|