首页 > 其他分享 >[蓝桥杯 2018 省 B] 日志统计

[蓝桥杯 2018 省 B] 日志统计

时间:2024-12-06 11:11:02浏览次数:6  
标签:10 ll 蓝桥 帖子 热帖 2018 日志 id

题目

Description

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

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

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

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

Input

第一行包含三个整数 NN、DD 和 KK。

以下 NN 行每行一条日志,包含两个整数 tsts 和 idid。

Output

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

Sample Input

7 10 2  
0 1  
0 10    
10 10  
10 1  
9 1
100 3  
100 3  

Sample Output

1  
3  

思路

一道比较水的题目;

在右指针右移的过程中,若所指区间的时间超过了$D$,左指针右移;

统计帖子获赞,超过$k$记录答案即可;

 

代码

#include<bits/stdc++.h>
typedef long long ll;
using namespace std;
const ll _=2e6+1;
ll n,m,t;
ll tot;
ll q[_],id[_];
map<ll,ll> f,vis;
struct nb
{
    ll t,x;
}a[_];
bool cmp(nb a,nb b)
{
    return a.t<b.t;
}
int main()
{
    scanf("%lld%lld%lld",&n,&t,&m);
    for(ll i=1;i<=n;i++)
        scanf("%lld%lld",&a[i].t,&a[i].x);
    sort(a+1,a+n+1,cmp);//按照时间排序
    ll head=1;
    for(ll i=1;i<=n;i++)
    {
        while(a[i].t-a[head].t>=t)//区间时间超过D,左指针右移
        {
            f[a[head].x]--;
            head++;
        }
        f[a[i].x]++;
        if(f[a[i].x]>=m&&!vis[a[i].x])//记录答案
        {
            vis[a[i].x]=1;
            id[++tot]=a[i].x;
        }
    }
    sort(id+1,id+tot+1);
    for(ll i=1;i<=tot;i++)
        printf("%lld\n",id[i]);
    return 0;
}

 

 

 

 

标签:10,ll,蓝桥,帖子,热帖,2018,日志,id
From: https://www.cnblogs.com/wzx-RS-STHN/p/18590256

相关文章

  • Spring Boot日志
    博主主页:数据结构专栏:Java数据结构数据库专栏:MySQL数据库JavaEE专栏:JavaEE软件测试专栏:软件测试关注博主带你了解更多知识目录1.?志概述1.1?志的?途1.系统监控2.数据采集3.?志审计2.?志使?2.1打印?志2.1.1在程序中得到?志对象2.1.2使??志对......
  • StarRocks-FE无法启动,日志:
    现象:启动FE后,通过命令 ss-nalp|grep 9030 查询不到服务已经启动。 查看fe/log/fe.log日志可以看到报错信息:ERROR(stateChangeExecutor|90)[NodeMgr.checkCurrentNodeExist():680]currentnodeisnotaddedtothecluster,willexit原因:之前启动失败,导致创建......
  • Spring Boot教程之十九:日志记录
    SpringBoot–日志记录SpringBoot中的日志记录在SpringBoot应用程序中起着至关重要的作用,用于记录应用程序内的信息、操作和事件。它还用于监视应用程序的性能、了解应用程序的行为以及识别应用程序内的问题。SpringBoot通过提供各种日志记录框架来提供灵活的日志记......
  • 蓝桥杯备考冲刺必刷题(Python) | P152 反倍数
    学习Python从娃娃抓起!记录下蓝桥杯备考比赛学习过程中的题目,记录每一个瞬间。附上汇总贴:蓝桥杯备考冲刺必刷题(Python)|汇总-CSDN博客【题目描述】给定三个整数a,b,c,如果一个整数既不是α的整数倍也不是b的整数倍还不是c的整数倍,则这个数称为反倍数。请问在1至n中有多少个......
  • 蓝桥杯备考冲刺必刷题(Python) | 128 冰雹数
    学习Python从娃娃抓起!记录下蓝桥杯备考比赛学习过程中的题目,记录每一个瞬间。附上汇总贴:蓝桥杯备考冲刺必刷题(Python)|汇总-CSDN博客【题目描述】任意给定一个正整数N,如果是偶数,执行:N/2;如果是奇数,执行:Nx3+1,生成的新的数字再执行同样的动作,循环往复。通过观察发现,这个......
  • 蓝桥杯嵌入式
    蓝桥杯嵌入式LED:LD1~8---PC8~15,低电平电亮锁存器LE:PD2,=1选通,=0锁存key:从上到小,按键B1~4,PB0~2,PA0,上拉,检测低电平移植LCD:不需要再CubeMX中进行引脚配置仅需要将fonts.h,led.h,led.c添加进工程文件夹main中不能引用#include"fonts.h",会导致递归引用,发生报错串......
  • 蓝桥杯准备训练(lesson2 ,c++)
    3.1字符型char//character的缩写在键盘上可以敲出各种字符,如:a,q,@,#等,这些符号都被称为字符,字符是⽤单引号括起来的,如:‘a’,‘b’,‘@’。为了能说明这些字符,给他们抽象出⼀种类型,就是字符型,C语⾔中就是char。ASCII编码我们知道在计算机中所有的数据都......
  • 蓝桥杯准备训练(lesson1,c++方向)
    前言报名参加了蓝桥杯(c++)方向的宝子们,今天我将与大家一起努力参赛,后序会与大家分享我的学习情况,我将从最基础的内容开始学习,带大家打好基础,在每节课后都会有练习题,刚开始的练习题难度很低,但希望大家也简单的做一下,防止与课程脱节,最后希望大家都能取得好成绩。1、工具安装......
  • filebeat收集日志输出到redis
    目的:使用filebeat收集日志,将日志信息存储到redis---持久化存储,减轻localstorage的压力前提:安装了Elasticsearch跟filebeat,并启动Elasticsearch问题:redis安装成功,配置文件修改成功,重新启动数据库。然后在另一台节点使用nc命令模拟客户端发送数据并指定端口(在.yml......
  • 日志功能
    【背景】需求创建2个日志文件【知识点】logging.getLogger() 方法默认会返回一个以给定名称为标识的日志记录器(如果没有提供名称,则返回一个根日志记录器)importloggingimportcm#确保cm模块已经被正确导入,并且有一个log_file函数classLog:def__init__(self,......