尺取法,藍橋

2021-10-05 07:35:30 字數 1027 閱讀 7695

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

**思路:**通過不斷更新start和end來維護區間在d內

輸入:

7102

01010

1010101

911003

1003

輸出:

1

3

**:

#include

using

namespace std;

typedef

long

long

int ll;

const ll n=

1e6+10;

vector thing[n]

;ll n,d,k;

bool

judge

(ll id)

else

} end++;}

return

false;}

intmain()

for(ll i=

1;i<=n;i++

)return0;

}

藍橋 日誌統計 尺取法

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

演算法 尺取法

我們先來介紹一下尺取法。尺取法,顧名思義,像尺子一樣,一塊一塊的擷取。題目翻譯 給定長度為n的數列整數a0,a1,a2,a3 an 1以及整數s。求出綜合不小於s的連續子串行的長度的最小值。如果解不存在,則輸出0。限制條件 100s 10 8 這裡我們拿第一組測試資料舉例子,即 n 10,s 15,...

尺取法練習

mr wolfram 的csdn 部落格 hopeforbetter的csdn部落格,尺取法顧名思義就像尺子一樣,當測量乙個物體時,你不一定從開始的位置測量,你可以從任意乙個位置st開始,當然前提是尺子夠長,然後你再讀出尾部en的數,尾部減去開始的位置en st,就是這個物體的長度。尺取法就是這個思...