您需要寫一種資料結構,來維護一些數( 都是 10^9109 以內的數字)的集合,最開始時集合是空的。其中需要提供以下操作,操作次數 qq 不超過 10^4104:
查詢 xx 數的排名(排名定義為比當前數小的數的個數 +1+1。若有多個相同的數,因輸出最小的排名)。
查詢排名為 xx 的數。
求 xx 的前驅(前驅定義為小於 xx,且最大的數)。若未找到則輸出 -2147483647−2147483647。
求 xx 的後繼(後繼定義為大於 xx,且最小的數)。若未找到則輸出 21474836472147483647。
插入乙個數 xx。無無
輸入 1
7
5 15 3
5 51 3
2 23 3
4 3
輸出 1
231
5
二叉查詢問題可以使用multiset,multiset滿足可以重複的集合,但是是有序的,內部查詢滿足紅黑樹。lower_bound函式可以找出集合小於等於b的數,upper_bound函式可以找出集合中大於b的數
#include #include #include using namespace std;
multisets;
int n, a, b;
int main() else if(a == 2) else if(a == 3) else if(a == 4) else if(a == 5)
}return 0;
}
P4715 深基16 例1 淘汰賽
題目鏈結 1.滿二叉樹外觀上是乙個三角形 2.乙個層數為k 的滿二叉樹總結點數為 2 k 1 因此滿二叉樹的結點樹一定是奇數個 3.第i層上的結點數為 2 k 1 4.乙個層數為k的滿二叉樹的葉子結點個數 也就是最後一層 5.用一維陣列存放滿二叉樹 如上圖 除根節點外 設節點下標為h 該節點的父親節...
P5742 深基7 例11 評等級
我是星際玩家,我不讀題,我太難了。眼睛是個好東西 題目描述 現有 n n 1000 名同學,每名同學需要設計乙個結構體記錄以下資訊 學號 不超過 100000 的正整數 學業成績和素質拓展成績 分別是 0 到 100 的整數 綜合分數 實數 每行讀入同學的姓名 學業成績和素質拓展成績,並且計算綜合分...
P5736 深基7 例2 質數篩
include using namespace std long long shai long long a for int i 2 i sqrt a i return 1 跑遍了迴圈沒找到除1和本身之外的數,那就是素數,返回1。int main for int i 1 i n i 0,1標為不是 ...