動態中位數

2021-09-24 18:32:20 字數 1118 閱讀 3761

#178. 動態中位數

統計描述

提交自定義測試

【題目描述】:

輸入n個32位有符號整數,當已輸入的個數為奇數個時,輸出此時的中位數。

【輸入描述】:

第一行乙個整數n;

第二行n個32位有符號整數。

【輸出描述】:

輸出一行,n/2(上取整)個中位數,中間用空格隔開。

對於 40%資料:n<=1000

對於所有資料:n<=100,000

大根堆與小根堆綜合

。。。。。。。

。。。。。

。。。。。。。

1 ---------------------中位數

11111

1111

11111

#include

#include

#include

#include

using

namespace std;

priority_queue<

int, vector<

int>

, greater<

int>

> q1;

----

----

----

--小根堆

priority_queue<

int, vector<

int>

, less<

int>

> q2;

----

----

----

----

-大根堆

int check=

1,n,m,middle,k;

void

add(

int x)

else

if(x>q1.

top())

else

while

(q1.

size()

size()

)while

(q1.

size()

>q2.

size()

+1)}

intmain()

return0;

}

動態中位數

依次讀入乙個整數序列,每當已經讀入的整數個數為奇數時,輸出已讀入的整數構成的序列的中位數。輸入格式 第一行輸入乙個整數p,代表後面資料集的個數,接下來若干行輸入各個資料集。每個資料集的第一行首先輸入乙個代表資料集的編號的整數。然後輸入乙個整數m,代表資料集中包含資料的個數,m一定為奇數,資料之間用空...

動態中位數

題意 注 本文的 中的輸出不嚴格正確,反正loj的資料也沒多強,不會pe。如果後面加強了當我沒說 沒錯,第乙個還是我的做法。記得是哪年的scp還是noip初賽竟然程式題就是這個思路,然後我照搬了。我們這道題目反著考慮,它讓我們加數,我們就刪除數字,從後往前刪除數字,我們先建乙個排好序的鍊錶,然後從中...

動態中位數

include include include include define fir i,a,b for int i a i b i using namespace std priority queue,greater q1,kong1 priority queueq2,kong2 void ini...