ZJUT1647 小X的蘋果 優先佇列

2021-05-24 12:46:39 字數 679 閱讀 2304

一道優先佇列的題目。

之前看了不懂得做,因為沒學過。

昨天看了堆排序以及用堆構建優先佇列,所以今天試了下。

兩次ce(鬱悶……),兩次wa(一次不行,因為要趕快上課,所以匆匆又改了一下,還是不行……),然後下課回來,檢查了一下,修改了一點,然後提交,然後ac。

之前看的時候不知道應該怎樣利用優先佇列,不過看了一會很快就想出來了。

思路:把數列分成兩個堆。即從排好序的陣列從中間分開,左邊建成最大堆,右邊建成最小堆。那麼最大堆的取值和最小堆的取值就是中位數。當個數為奇數時取最大堆,當個數為偶數時同時取兩個堆。

還有一點就是插入乙個數的時候,要判斷此時的個數是偶數還是奇數,應該插在最大堆還是最小堆。

當數大於最大堆時:

1)如果此時為奇數,則應該插在最小堆。

2)如果此時為偶數:

如果這個數小於最小堆,則應該插在最大堆。

如果這個數不小於最小堆,則應該把最小堆的最小值插入到最大堆,同時把這個數插入到最小堆。

當數小於最大堆時:

1)如果此時為奇數,則應該把最大堆的最大值插入到最小堆,同時把這個數插入到最大堆。

2)如果此時為偶數,則直接把這個數插入到最大堆。

以下貼**:

小X的質數

題目描述 在小x的認知裡,質數是除了本身和1以外,沒有其他因數的數。但由於小x對質數的熱愛超乎尋常,所以小x同樣喜歡那些雖然不是質數,但卻是由兩個質數相乘得來的數。於是,我們定義乙個數小x喜歡的數,當且僅其是乙個質數或是兩個質數的乘積。輸入 第一行輸入個正整數q,表示詢問的組數。接下來q行,包含兩個...

小X的矩陣

題目描述 小x最近迷上了矩陣,他定義了乙個對於一種特殊矩陣的特徵函式g。對於n n的矩陣a,a的所有元素均為0或1,則g a 等於所有a i j a j i 的和對2取餘之後的結果。舉乙個例子 對於上圖這個3 3矩陣a,g a 1 1 1 0 1 1 0 1 1 1 1 0 1 1 0 1 0 0 ...

小 X 的液體混合

example mixture.in 3 21 2 2 3mixture.out 4scoring 對於 30 的資料,n 10。對於 100 的資料,1 n 1000,a b,同種反應不會出現多次。輸入的一張圖可能有多個不同的連通塊,而每個不同的連通塊之間互不影響,且每個 不同連通塊中加入的第一種...