2023年第九屆藍橋杯C 省賽B組H題

2021-10-03 08:11:11 字數 1522 閱讀 5965

小明維護著乙個程式設計師論壇。現在他收集了乙份"點讚"日誌,日誌共有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一行。

【輸入樣例】710

2010

1010

101019

1100

3100

3 【輸出樣例】

13

藍橋杯藍橋杯我來啦!!

這道題應該算是比較簡單的把,我可能對雙指標情有獨鍾,所以又來寫他的題解了=-=被雙指標打擊到了qaq

這道題很直觀直接模擬即可。

把時間放入對應id的容器中,然後sort一下。

然後用尺取法的思想找一下有沒有符合要求的id即可,

因為我們id本身遍歷的時候就是從大到小遍歷的,所以直接輸出即可。

然後注意一下邊界條件就可以啦,要在d的時間範圍內,不能包括d,也就是只能小於d

雙指標l1, l2走一遍就可以啦,遇到符合條件的break,成功繼承zz思想哈哈哈。

這裡有個地方就是不需要還原計數,因為根據尺取法的思想嘛,已經產生了固定滿足要求的區間了,所以從第乙個符合要求的地方開始,後面的全都符合大於d的要求,因為l1和l2都在++嘛。相反如果還原計數為0的話會比較麻煩。

#include

using

namespace std;

const

int n =

1e5+10;

vector<

int> a[n]

;vector<

int> ans;

intmain()

for(

int i =

0; i <= s; i++

)else

} l2++;}

if(flag)

}int siz = ans.

size()

;for

(int i =

0; i < siz; i++

)return0;

}

2023年第九屆藍橋杯 C 省賽B組 全區變暖

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

2023年第九屆藍橋杯省賽參賽有感

我參加的是江蘇賽區的c c 程式設計大學b組,最後獲得二等獎。不知道a組的廝殺有多麼慘烈,但我覺得我這個二等獎還是拿的比較容易的。當時參加的時候是大二,我的專業是資訊工程,本身在程式設計方面不是特別側重,主要是電路,模電,數電,訊號系統,數字訊號處理等方面的,對於程式設計的話,其實只有一門c語言的入...

藍橋杯省賽考點 如何評價2018第九屆藍橋杯省賽

04 09更新 省賽結果出來了,省一。下個月可以去北京參加決賽啦!省賽完結,c c b組。不是什麼大神,不知道能不能拿省一進國賽。一共10道題,5個小題5個大題,小題應該對了2 3個,6 7 8這三個大題應該能全對,第10題大概能過40 的測試資料。開始考試之前,測試了一下機器,不知道為啥測試用fr...