#尺取法
#vector容器
#全域性變數能開更大的空間哦~
題目小明維護著乙個程式設計師論壇。現在他收集了乙份"點讚"日誌,日誌共有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
思路如果乙個帖子曾在任意乙個長度為d的時間段內收到不少於k個讚,小明就認為這個帖子曾是"熱帖"。
乙個帖子,在任意乙個長度為d的時間段,不少於k個讚。
有最多100010個帖子,定義100010個vector物件
每個物件是乙個陣列,存入每個帖子被點讚的時刻並且排序(公升序),定義兩個變數l,r,使l,r的距離為k,然後判斷以l和r為下標的陣列是否滿足v[x][r]**
#include#include#include#includeusing namespace std;
struct node;
//太大了,開在主函式之外
vectorv[100010];
node no[100010];
int cmp(node n1,node n2)
void find_i(int k,int d,int x)else }}
int main()
日誌統計(藍橋杯)
藍橋杯的一道題 思路 先說最容易想到的,把ts都放到他的id下,列舉每個id,在每個id之下判斷是否存在熱帖,存在的條件就是在 t,t d 中cnt k code ac 6 10 include include includeusing namespace std vectora 100005 se...
藍橋杯 日誌統計
現在小明想統計有哪些帖子曾經是 熱帖 如果乙個帖子曾在任意乙個長度為d的時間段內收到不少於k個讚,小明就認為這個帖子曾是 熱帖 具體來說,如果存在某個時刻t滿足該帖在 t,t d 這段時間內 注意是左閉右開區間 收到不少於k個讚,該帖就曾是 熱帖 給定日誌,請你幫助小明統計出所有曾是 熱帖 的帖子編...
藍橋杯之統計日誌(c )
小明維護著乙個程式設計師論壇。現在他收集了乙份 點讚 日誌,日誌共有n行。其中每一行的格式是 ts id 表示在ts時刻編號id的帖子收到乙個 贊 現在小明想統計有哪些帖子曾經是 熱帖 如果乙個帖子曾在任意乙個長度為d的時間段內收到不少於k個讚,小明就認為這個帖子曾是 熱帖 具體來說,如果存在某個時...