HHUOJ 1019 他們的中位數

2021-09-11 12:07:34 字數 711 閱讀 7558

輸入n個數,請輸出他們的中位數。

第一行乙個正整數 n ( 1 <= n <= 3000000 )

第二行 n 個正整數 ai ( 1 <= ai <= 1000 )

6

3 3 2 2 1 1

一行乙個實數,表示中位數,保留一位小數

2.0

解析:考慮到n值過大,用快排還是超時,所以用了桶排,注意,最後要求保留一位小數,所以要將答案轉化為float型,想當年用初等排序wa了無數次,誒,反正寫出來就舒暢多了,這件事告訴我們,能用高階演算法的地方就別用低階的,畢竟五菱巨集光的車鑰匙是永遠開不了保時捷的?

ac**如下:

#include

#include

#include

#define max 3000001

//此處要注意千萬不能加";",剛開始怎麼都創不了陣列,發現問題在這裡

#define vmax 1000

intmain()

for(i =

0; i )for

(i =

1; i <=vmax; i++

)for

(j =

1; j <= n; j++)if

(n %2!=

0)else

}

中位數的中位數

參照王曉東的演算法設計 中位數的中位數,即將一串數分成n段,求其排好序了的中間那個數,再把這些所有中位數再求一次中位數。for int i 0 i r p 4 5 i 找中位數的中位數,r p 4即上面所說的n 5 int x lineselect a,p,p r p 4 5,r p 4 10 線性...

BFPRT(中位數的中位數)演算法

又稱為 中位數的中位數演算法 該演算法由 blum floyd pratt rivest tarjan 在1973年提出,最壞時間複雜度為o n 最差的空間複雜度為o logn 演算法步驟 1 將 n 個元素劃分為 n 5 個組,每組 5 個元素,若有剩餘,捨去 2 使用排序方法找到 n 5 個組中...

hive 中位數 Hive的中位數

關於求解中位數,我們知道在python中直接有中位數處理函式 mean 比如在python中求解乙個中位數,很簡單。python計算中位數 import numpy as np nums 1.1,2.2,3.3,4.4,5.5,6.6 均值np.mean nums 中位數 np.median num...