藍橋杯的一道題:
思路:先說最容易想到的,把ts都放到他的id下,列舉每個id,在每個id之下判斷是否存在熱帖,存在的條件就是在[t,t+d)中cnt>=k
code:
///ac 6/10
#include#include#includeusing namespace std;
vectora[100005];
setvis;
sethot_id;
vector::iterator it;
vector::iterator it2;
set::iterator it1;
int main()
} }for(it1=hot_id.begin();it1!=hot_id.end();it1++)
printf("%d\n",*it1);
return 0;
} //**的效率太低,時間複雜度o(n^3)tle了
結果悲涼tle了
換種思路:列舉每個id取尺法判斷是否有熱帖,取尺法感覺不太好想(取尺之前先要排序)
#include#include#include#includeusing namespace std;
int n,d,k,ts,id;
vectora[100005];
setvis,hot_id;
set::iterator it;
int judge(int id)//取尺不好想
else
return 1;
} r++;
} return 0;
}int main()
for(it=vis.begin();it!=vis.end();it++)//列舉每個id
return 0;
}
藍橋杯 日誌統計
尺取法 vector容器 全域性變數能開更大的空間哦 題目小明維護著乙個程式設計師論壇。現在他收集了乙份 點讚 日誌,日誌共有n行。其中每一行的格式是 ts id 表示在ts時刻編號id的帖子收到乙個 贊 現在小明想統計有哪些帖子曾經是 熱帖 如果乙個帖子曾在任意乙個長度為d的時間段內收到不少於k個...
藍橋杯 日誌統計
現在小明想統計有哪些帖子曾經是 熱帖 如果乙個帖子曾在任意乙個長度為d的時間段內收到不少於k個讚,小明就認為這個帖子曾是 熱帖 具體來說,如果存在某個時刻t滿足該帖在 t,t d 這段時間內 注意是左閉右開區間 收到不少於k個讚,該帖就曾是 熱帖 給定日誌,請你幫助小明統計出所有曾是 熱帖 的帖子編...
藍橋杯之統計日誌(c )
小明維護著乙個程式設計師論壇。現在他收集了乙份 點讚 日誌,日誌共有n行。其中每一行的格式是 ts id 表示在ts時刻編號id的帖子收到乙個 贊 現在小明想統計有哪些帖子曾經是 熱帖 如果乙個帖子曾在任意乙個長度為d的時間段內收到不少於k個讚,小明就認為這個帖子曾是 熱帖 具體來說,如果存在某個時...