[蓝桥杯 2018 省 B] 日志统计——双指针算法

简介: [蓝桥杯 2018 省 B] 日志统计——双指针算法

题目描述

小明维护着一个程序员论坛。现在他收集了一份“点赞”日志,日志共有 N 行。其中每一行的格式是 ts id,表示在 ts 时刻编号 id 的帖子收到一个“赞”。


现在小明想统计有哪些帖子曾经是“热帖”。如果一个帖子曾在任意一个长度为 DD 的时间段内收到不少于 K 个赞,小明就认为这个帖子曾是“热帖”。


具体来说,如果存在某个时刻 TT满足该帖在 [T,T+D) 这段时间内(注意是左闭右开区间)收到不少于 K 个赞,该帖就曾是“热帖”。


给定日志,请你帮助小明统计出所有曾是“热帖”的帖子编号。


输入格式

第一行包含三个整数 N、DD和 K。

以下 N 行每行一条日志,包含两个整数 ts 和 id。

输出格式

按从小到大的顺序输出热帖 id。每个 id一行。

输入输出样例

输入

7 10 2

0 1

0 10

10 10

10 1

9 1

100 3

100 3


输出

1

3

说明/提示

对于 50% 的数据,1≤KN≤1000。

对于 100% 的数据, 10^51≤KN≤10^5, 0≤id,ts≤10^5。

时限 1 秒, 256M。蓝桥杯 2018 年第九届省赛

#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdio>
#define x first
#define y second
using namespace std;
typedef pair<int, int> PII;
const int N = 100010;
int n, d, k;
PII logs[N];
int cnt[N];
bool st[N];  //记录每个帖子是否是热贴
int main()
{
    scanf("%d %d %d", &n, &d, &k);
    for (int i = 0; i < n; i++)
    {
        scanf("%d %d", &logs[i].x, &logs[i].y);
    }
    sort(logs, logs + n);
    for (int i = 0, j = 0; i < n; i++)
    {
        int id = logs[i].y;
        cnt[id]++;
        while (logs[i].x - logs[j].x >= d)
        {
            cnt[logs[j].y]--;
            j++;
        }
        if (cnt[id] >= k) st[id] = true;
    }
    for (int i = 0; i <= 100000; i++)
    {
        if (st[i])
        {
            cout << i << endl;
        }
    }
    return 0;
}


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
3月前
|
算法 测试技术 C++
【动态规划】【图论】【C++算法】1575统计所有可行路径
【动态规划】【图论】【C++算法】1575统计所有可行路径
|
3月前
|
人工智能 算法 测试技术
【动态规划】【二分查找】C++算法 466 统计重复个数
【动态规划】【二分查找】C++算法 466 统计重复个数
|
9天前
|
算法 前端开发 JavaScript
< 每日算法:一文带你认识 “ 双指针算法 ” >
`双指针`并非指的是一种具体的公式或者范式。而是一种运算思路,用于节省逻辑运算时间的`逻辑思路`!双指针算法通常用于`优化时间复杂度`!
< 每日算法:一文带你认识 “ 双指针算法 ” >
|
13天前
|
算法
|
13天前
|
C++
成绩统计(蓝桥杯)
成绩统计(蓝桥杯)
|
19天前
|
算法
优选算法|【双指针】|202.快乐数
优选算法|【双指针】|202.快乐数
|
20天前
|
算法
【优选算法专栏】专题一:双指针--------1.移动0
【优选算法专栏】专题一:双指针--------1.移动0
19 0
|
22天前
|
算法 测试技术 C#
【字典树】【KMP】【C++算法】3045统计前后缀下标对 II
【字典树】【KMP】【C++算法】3045统计前后缀下标对 II
|
2月前
|
算法 关系型数据库 MySQL
大厂算法指南:优选算法 ——双指针篇(下)
大厂算法指南:优选算法 ——双指针篇(下)
28 0
|
2月前
|
算法 容器
算法思想总结:双指针算法
算法思想总结:双指针算法