藍橋杯 18省賽 B8 日誌統計 TreeMap

2021-10-09 02:04:27 字數 1265 閱讀 5305

小明維護著乙個程式設計師論壇。現在他收集了乙份"點讚"日誌,日誌共有n行。其中每一行的格式是:

ts id

表示在ts時刻編號id的帖子收到乙個"贊"。

現在小明想統計有哪些帖子曾經是"熱帖"。如果乙個帖子曾在任意乙個長度為d的時間段內收到不少於k個讚,小明就認為這個帖子曾是"熱帖"。

具體來說,如果存在某個時刻t滿足該帖在[t, t+d)這段時間內(注意是左閉右開區間)收到不少於k個讚,該帖就曾是"熱帖"。

給定日誌,請你幫助小明統計出所有曾是"熱帖"的帖子編號。

【輸入格式】

第一行包含三個整數n、d和k。

以下n行每行一條日誌,包含兩個整數ts和id。

對於50%的資料,1 <= k <= n <= 1000

對於100%的資料,1 <= k <= n <= 100000 0 <= ts <= 100000 0 <= id <= 100000

【輸出格式】

按從小到大的順序輸出熱帖id。每個id一行。

【輸入樣例】

7 10 2

0 10 10

10 10

10 1

9 1100 3

100 3

【輸出樣例】13

資源約定:

峰值記憶體消耗(含虛擬機器) < 256m

cpu消耗 < 1000ms

思路:按固定時間區間查詢點讚數->對時間來波快排

對時間快排的同時,還要儲存其對於點讚數的對映->使用鍵值對,而非二維陣列

時間作為鍵值會重複(時間可能出現重複)->使用treemap並在構造時候傳入comparator物件並快速重寫其compare(),使得主鍵可重

遍歷鍵值對->map.entry< >

public

class

treemap_日誌統計_8}}

private

static

void

init()

});

scanner sc =

newscanner

(system.in)

;int n =sc.

nextint()

; d =sc.

nextint()

; k =sc.

nextint()

;int di =

0,ki =0;

for(

int i =

0;i ) sc.

close()

;}}

藍橋杯省賽日誌統計

小明維護著乙個程式設計師論壇。現在他收集了乙份 點讚 日誌,日誌共有n行。其中每一行的格式是 ts id 表示在ts時刻編號id的帖子收到乙個 贊 現在小明想統計有哪些帖子曾經是 熱帖 如果乙個帖子曾在任意乙個長度為d的時間段內收到不少於k個讚,小明就認為這個帖子曾是 熱帖 具體來說,如果存在某個時...

藍橋杯 18省賽 B9 全球變暖 佇列

你有一張某海域nxn畫素的 表示海洋 表示陸地,如下所示 其中 上下左右 四個方向上連在一起的一片陸地組成一座島嶼。例如上圖就有2座島嶼。由於全球變暖導致了海面上公升,科學家 未來幾十年,島嶼邊緣乙個畫素的範圍會被海水淹沒。具體來說如果一塊陸地畫素與海洋相鄰 上下左右四個相鄰畫素中有海洋 它就會被淹...

日誌統計 第九屆藍橋杯省賽題目八

小明維護著乙個程式設計師論壇。現在他收集了乙份 點讚 日誌,日誌共有n行。其中每一行的格式是 ts id 表示在ts時刻編號id的帖子收到乙個 贊 現在小明想統計有哪些帖子曾經是 熱帖 如果乙個帖子曾在任意乙個長度 為d的時間段內收到不少於k個讚,小明就認為這個帖子曾是 熱帖 具體來說,如果存在某個...