a536: [模板] 平衡二元樹
標籤 : 資料結構
通過比率 : 1人/1人 ( 100% ) [非即時]
評分方式:
Tolerant

最近更新 : 2024-11-03 11:49

內容

您需要實作一種資料結構(可參考題目標題),來維護一些數字,並提供以下操作:

  1. 插入一個數字 $x$。
  2. 刪除一個數字 $x$(若有多個相同的數字,應僅刪除一個)。
  3. 查詢數字 $x$ 的排名(排名定義為比當前數小的數的個數加 1)。
  4. 查詢資料結構中排名為 $x$ 的數字。
  5. 查詢數字 $x$ 的前驅(前驅定義為小於 $x$ 且最大的數字)。
  6. 查詢數字 $x$ 的後繼(後繼定義為大於 $x$ 且最小的數字)。

對於操作 3、5 和 6,無法保證當前資料結構結構中存在數字 $x$。

輸入說明

輸入的第一行是一個整數$  n $,表示操作的個數。接下來的$  n  $行中,每行有兩個整數$  \text{opt}  $和$  x $,其中$  \text{opt}  $表示操作的序號$( 1 \leq \text{opt} \leq 6 )$,而$  x  $是操作所用的數字。

輸出說明

對於操作 3、4、5 和 6,每行輸出一個整數,表示對應操作的結果。

範例輸入 #1
10
1 106465
4 1
1 317721
1 460929
1 644985
1 84185
1 89851
6 81968
1 492737
5 493598
範例輸出 #1
106465
84185
492737
測資資訊:
記憶體限制: 256 MB
公開 測資點#0 (10%): 1.0s , <1M
公開 測資點#1 (10%): 1.0s , <1M
公開 測資點#2 (10%): 1.0s , <1M
公開 測資點#3 (10%): 1.0s , <1M
公開 測資點#4 (10%): 1.0s , <1M
公開 測資點#5 (10%): 1.0s , <1M
公開 測資點#6 (10%): 1.0s , <1M
公開 測資點#7 (10%): 1.0s , <1M
公開 測資點#8 (10%): 1.0s , <1M
公開 測資點#9 (10%): 1.0s , <1M
提示 :

對於 80% 的測資,操作的數量 $ n $ 的範圍是 $ 1 \leq n \leq 5\times 10^4 $,而數字 $ x $ 的範圍是 $ |x| \leq 10^7 $。

對於 100% 的測資,操作的數量 $ n $ 的範圍是 $ 1 \leq n \leq 10^5 $,而數字 $ x $ 的範圍是 $ |x| \leq 10^7 $。

標籤:
資料結構
出處:
洛谷 [管理者:
211096@stu.c... (唐狗針)
]


編號 身分 題目 主題 人氣 發表日期
119
211096@stu.c... (唐狗針)
a536
23 2024-11-01 19:08