日志统计【省赛】
发布日期:2022-07-08 02:55:55
浏览次数:55
分类:技术文章
本文共 1318 字,大约阅读时间需要 4 分钟。
日志统计
题目:
小明维护着一个程序员论坛。现在他收集了一份"点赞"日志,日志共有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 1 0 10 10 10 10 1 9 1 100 3 100 3 样例输出 1 3
代码:
#includeusing namespace std;const int N = 100001;struct node { int id, time;};node p[N];int n, d, k;bool check(int start, int e) { if (e - start + 1 < k) return false; for (int i = start; i <= e - k + 1; i++) { if (p[i].time + d > p[i + k - 1].time) return true; } return false;}bool cmp(node a, node b) { if (a.id != b.id) return a.id < b.id; else return a.time < b.time;}int main() { cin >> n >> d >> k; for (int i = 0; i < n; i++) { cin >> p[i].time >> p[i].id; } sort(p, p + n, cmp); int i = 0; while (i < n) { int id = p[i].id; int start = i, e; while (id == p[i].id && i < n) { e = i; i++; } if (check(start, e)){ cout << id << endl; } } return 0;}
转载地址:https://blog.csdn.net/CRH1129/article/details/123999633 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年03月22日 16时43分40秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
LeetCode题解(1175):质数排列(Python)
2021-06-29
LeetCode题解(1179):重新格式化部门表(SQL)
2021-06-29
LeetCode题解(1184):公交站间的距离(Python)
2021-06-29
LeetCode题解(1422):分割字符串的最大得分(Python)
2021-06-29
LeetCode题解(1436):旅行终点站-寻找循环的终点(Python)
2021-06-29
H5+CSS前端特效源代码:可旋转动态日文片假名
2021-06-29
python程序没有报错但是运行没有任何结果怎么办?
2021-06-29
简单说一说MySQL中drop、delete与truncate的区别?
2021-06-29
InnoDB与MyISAM的区别
2021-06-29
思科 Packet Tracer 实验六 RIP路由协议基本配置
2021-06-29
计算机网络实验七:DHCP基本配置
2021-06-29
计算机网络实验八:思科NAT的基本配置
2021-06-29
三郎数据结构算法学习笔记:单向环形链表约瑟夫问题
2021-06-29
前端特效H5+css+js:动态可拉进度条+附完整源码
2021-06-29
三郎数据结构学习笔记:双向循环链表(判断是否对称)附源码
2021-06-29
三郎数据结构算法学习笔记:基数排序
2021-06-29
三郎数据结构算法学习笔记:斐波那契(黄金分割法)查找算法
2021-06-29
Java中标识符的命名规则是什么?硬性要求和非硬性要求
2021-06-29
Java中八种基本数据类型的大小,以及他们的封装类
2021-06-29
Spring依赖注入的方式有几种,各是什么?
2021-06-29