插入x數
刪除x數(若有多個相同的數,因只刪除乙個)
查詢x數的排名(排名定義為比當前數小的數的個數+1。若有多個相同的數,因輸出最小的排名)
查詢排名為x的數
求x的前驅(前驅定義為小於x,且最大的數)
求x的後繼(後繼定義為大於x,且最小的數)
輸入格式:
第一行為n,表示操作的個數,下面n行每行有兩個數opt和x,opt表示操作的序號( 1≤opt≤6 )
輸出格式:
對於操作3,4,5,6每行輸出乙個數,表示對應答案
輸入樣例#1:
10輸出樣例#1:1 106465
4 11 317721
1 460929
1 644985
1 84185
1 89851
6 81968
1 492737
5 493598
106465時空限制:1000ms,128m84185
492737
1.n的資料範圍: n≤100000
2.每個數的資料範圍: [-10^7, 10^7]
在此鳴謝
1 #include2 #include3 #include4view codeusing
namespace
std;
5long
long
read()615
while(ch>='
0'&&ch<='9'
)1620return x*f;21}
22 vectorv;
23int
n,opt,x;
24int
main()
2544
return0;
45 }
洛谷P3369 模板 普通平衡樹
本蒟蒻最近剛剛學會平衡樹,特來寫篇部落格以加深印象。我的意思是若寫的不好望各位奆佬多多包含!插入 x 數 刪除 x 數 若有多個相同的數,因只刪除乙個 查詢 x 數的排名 排名定義為比當前數小的數的個數 1 若有多個相同的數,因輸出最小的排名 查詢排名為 x 的數 求 x 的前驅 前驅定義為小於 x...
洛谷P3369 模板 普通平衡樹 Treap
插入xxx數 刪除x xx數 若有多個相同的數,因只刪除乙個 查詢x xx數的排名 排名定義為比當前數小的數的個數 1 1 1。若有多個相同的數,因輸出最小的排名 查詢排名為x xx的數 求x xx的前驅 前驅定義為小於x xx,且最大的數 求x xx的後繼 後繼定義為大於x xx,且最小的數 總算...
題解 洛谷 P3369 模板 普通平衡樹
splay是像我這樣的小蒟蒻一開始學的平衡樹。雖然splay常數不小,但是功能十分全面,既可以當區間樹也可以當平衡樹 當然這兩者不可兼顧 看到題解裡一堆dalao寫陣列,但是splay本來是應該用指標實現的 據說這樣常數會小很多 於是蒟蒻就開始寫起了指標splay。出人意料,陣列splay我一遍a,...