藍橋杯2018初賽 日誌統計 尺取法

2022-05-31 13:21:10 字數 747 閱讀 6694

描述:

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

其中每一行的格式是:ts id。表示在ts時刻編號id的帖子收到乙個"贊"。  

現在小明想統計有哪些帖子曾經是"熱帖"。

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

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

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

現在再來寫這道題,也很簡單嘛!得意

其實我們發現只需要維護一段長度為d-1的區間就好了

那麼用p1,p2兩個指標

如果p2指向的那個時間減去p1指向的那個時間大於d

說明區間不滿足,那麼我們把p1指標右移一位,同時p1指向的帖子點讚減一

因為已經過時了

然後一旦發現哪個帖子大於k了,標記起來,最後一起輸出

#include using

namespace

std;

struct

pa[100009

];bool

com(p a,p b)

int vis[100009],num[100009

];int

n,d,k;

intmain()

}for(int i=0;i<=100000;i++)

}

藍橋杯2018初賽 日誌統計

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

2023年藍橋杯 日誌統計

分析 重新寫了一遍,和先前不同的是,先前是遍歷每個時間點,判斷一段時間內是否存在滿足id點讚次數多於k的。這次是遍歷每乙個id,記錄每乙個id的點讚時間點,遍歷時間點,看是否存在點讚次數多於k的。include define maxn 10000 using namespace std vector...

藍橋 日誌統計 尺取法

思路 把相同的id放到一起 按時間從小到大排序 尺取判斷即可 有個大坑的點是 id從0開始!太坑了 下面是ac include include include include include include include define ll long long define inf 0x3f3f3...