日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

BZOJ 3685: 普通van Emde Boas树( 线段树 )

發(fā)布時間:2025/7/14 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BZOJ 3685: 普通van Emde Boas树( 线段树 ) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

建顆權(quán)值線段樹就行了...連離散化都不用...

沒加讀入優(yōu)化就TLE, 加了就A掉了...而且還快了接近1/4....?

------------------------------------------------------------------------------------------

#include<bits/stdc++.h>#define rep(i, n) for(int i = 0; i < n; i++)#define clr(x, c) memset(x, c, sizeof(x))#define M(l, r) (((l) + (r)) >> 1)using namespace std;const int maxn = 1000009;?struct Node {Node *l, *r;bool s;Node() {s = false;}inline void update() {s = l->s || r->s;}} pool[maxn << 1], *pt = pool, *root;void build(Node* t, int l, int r) {if(r > l) {int m = M(l, r);build(t->l = pt++, l, m);build(t->r = pt++, m + 1, r);}}int n, v, type;void modify(Node* t, int l, int r) {if(l == r) {if(type == 1 && !t->s) t->s = true;if(type == 2 && t->s) t->s = false;} else {int m = M(l, r);v <= m ? modify(t->l, l, m) : modify(t->r, m + 1, r);t->update();}}int query(Node* t, int l, int r) {if(!t->s) return 0;if(l == r) return l;int m = M(l, r);return type == 3 ? (t->l->s ? query(t->l, l, m) : query(t->r, m + 1, r)) :? ? ? ? ? ? ? ? ? ? (t->r->s ? query(t->r, m + 1, r) : query(t->l, l, m));}int succ(Node* t, int l, int r) {if(!t->s) return 0;if(l == r) return l <= v ? 0 : l;int m = M(l, r);if(v >= m) return succ(t->r, m + 1, r);int ans = succ(t->l, l, m);return ans ? ans : succ(t->r, m + 1, r);}int pred(Node* t, int l, int r) {if(!t->s) return 0;if(l == r) return l >= v ? 0 : l;int m = M(l, r);if(m + 1 >= v) return pred(t->l, l, m);int ans = pred(t->r, m + 1, r);return ans ? ans : pred(t->l, l, m);}int find(Node* t, int l, int r) {if(!t->s) return -1;if(l == r) return 1;int m = M(l, r);return v <= m ? find(t->l, l, m) : find(t->r, m + 1, r);}inline void read(int &t) {t = 0;char c = getchar();for(; !isdigit(c); c = getchar());for(; isdigit(c); c = getchar()) ? ?t = t * 10 + c - '0';}int main() {freopen("test.in", "r", stdin);freopen("test.out", "w", stdout);int m;cin >> n >> m;n++;build(root = pt++, 1, n);while(m--) {read(type);switch(type) {case 1 : read(v); v++; modify(root, 1, n); break;case 2 : read(v); v++; modify(root, 1, n); break;case 3 : printf("%d\n", query(root, 1, n) - 1); break;case 4 : printf("%d\n", query(root, 1, n) - 1); break;case 5 : read(v); v++; printf("%d\n", pred(root, 1, n) - 1); break;case 6 : read(v); v++; printf("%d\n", succ(root, 1, n) - 1); break;case 7 : read(v); v++; printf("%d\n", find(root, 1, n)); break;default : break;}}return 0;}

------------------------------------------------------------------------------------------?

?

3685: 普通van Emde Boas樹

Time Limit:?9 Sec??Memory Limit:?128 MB
Submit:?616??Solved:?216
[Submit][Status][Discuss]

Description

設(shè)計數(shù)據(jù)結(jié)構(gòu)支持:
1 x? 若x不存在,插入x
2 x? 若x存在,刪除x
3??? 輸出當(dāng)前最小值,若不存在輸出-1
4??? 輸出當(dāng)前最大值,若不存在輸出-1
5 x? 輸出x的前驅(qū),若不存在輸出-1
6 x? 輸出x的后繼,若不存在輸出-1
7 x? 若x存在,輸出1,否則輸出-1

Input

第一行給出n,m 表示出現(xiàn)數(shù)的范圍和操作個數(shù)
接下來m行給出操作
n<=10^6,m<=2*10^6,0<=x<n

Output

Sample Input

10 11
1 1
1 2
1 3
7 1
7 4
2 1
3
2 3
4
5 3
6 2


Sample Output

1
-1
2
2
2
-1

HINT

Source

By Zky

?

轉(zhuǎn)載于:https://www.cnblogs.com/JSZX11556/p/4666047.html

總結(jié)

以上是生活随笔為你收集整理的BZOJ 3685: 普通van Emde Boas树( 线段树 )的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 能直接看的av网站 | 免费一级淫片aaa片毛片a级 | 国产aaa毛片 | 99久久人妻无码精品系列 | 午夜精品福利一区二区蜜股av | 日韩在线免费看 | 欧美日韩在线视频播放 | 岛国av片| 波多野结衣国产在线 | 女性裸体不遮胸图片 | 久久婷婷国产麻豆91 | 91文字幕巨乱亚洲香蕉 | 天天久久综合 | 吊侵犯の奶水授乳羞羞漫画 | 久久天天综合 | 日韩在线视频免费 | 日本免费一区二区三区视频 | 国产91沙发系列 | 亚洲一本之道 | 欧美黄色免费 | 天堂网av2018 | 手机在线观看免费av | 影音先锋久久久 | 欧美日韩乱| 国产人成视频在线观看 | 中文在线a∨在线 | 成人激情在线观看 | 亚洲国产精品一区二区久久hs | 欧美午夜一区二区 | www.成人在线视频 | 激情五月俺也去 | 日韩极品在线 | 九七电影院97理论片 | 性人久久久久 | 三年在线观看视频 | 综合亚洲色图 | 激情深爱五月 | 亚洲色图 美腿丝袜 | 黄色理伦 | www.狠狠爱 | 一区二区三区 欧美 | 欧美在线 | 亚洲 | 日韩黄色片 | 黄色片在线免费观看 | 一区一区三区产品乱码 | 成人h视频在线观看 | 日韩国产欧美 | 天堂а√在线中文在线鲁大师 | 人妻少妇被猛烈进入中文字幕 | 男人的天堂a在线 | 国产无遮挡一区二区三区毛片日本 | 九九色播 | 午夜少妇久久久久久久久 | 在线精品视频一区 | 精品午夜福利视频 | 欧洲精品在线播放 | 黄色一级片毛片 | 国产免费一区二区三区最新6 | 国产精品sm调教免费专区 | 激情欧美网站 | 美女在线观看www | 黄色网页大全 | 欧美a√| 亚洲午夜精品久久 | 欧美aaa视频 | 粉嫩av一区二区三区四区五区 | 国产美女免费网站 | 日韩欧美国产高清 | 懂色av一区二区三区四区 | 女人18毛片毛片毛片毛片区二 | 日本免费观看视频 | 九九久久国产视频 | 日韩成人精品 | 看成人片 | 嫩草视频国产 | 欧美黑人巨大xxx极品 | 欧美日韩国产一区二区三区 | 久久综合爱 | 国产欧美视频在线观看 | 国产精品福利在线 | 九九综合视频 | 男人爽女人下面动态图 | 懂色av蜜臀av粉嫩av | 日韩黄色网络 | 香蕉视频色版 | 国产精品第八页 | 国产一区欧美 | 欧美极品jizzhd欧美 | 亚洲综合色自拍一区 | 国产自偷自拍 | 伊人久久免费视频 | 一区二区免费在线观看 | 亚洲欧美在线播放 | 国产精品丝袜在线观看 | 成人tiktok黄短视频 | 久久美女性网 | 国产一区亚洲一区 | 欧美黄色片免费看 | 四级黄色片 |