2018年第九届蓝桥杯【C++省赛B组】【第八题:日志统计】尺取法
题目描述
小明维护着一个程序员论坛。现在他收集了一份"点赞"日志,日志共有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
题解:只需要把每个日志获得的点赞信息存储起来,按时间排序,用尺取法r在前l在后,当点赞数大于等于k,判断时间间隔,不满足就l往前取,r继续往后取,直到点赞数大于等于k执行相同判断,不断重复直至结束。
#include<bits/stdc++.h>
#include<vector>
#define maxn 1000000
using namespace std;
vector<int >a[maxn+5];
int n,d,k;
bool judge(int x)
{int len=a[x].size();if(len<k)return false;int l=0,r=0,sum=0;sort(a[x].begin(),a[x].end());while(l<=r&&r<len){sum++;if(sum>=k){if(a[x][r]-a[x][l]<d){return true;}else {sum--;l++;}}r++;}return false;
}
int main()
{scanf("%d%d%d",&n,&d,&k);int x,y;for(int i=0;i<n;i++){scanf("%d%d",&x,&y);a[y].push_back(x);}for(int i=0;i<maxn+5;i++){if(judge(i))printf("%d\n",i);}return 0;
}
2018年第九届蓝桥杯【C++省赛B组】【第八题:日志统计】尺取法相关推荐
- 2018第九届蓝桥杯大赛软件类B组C/C++省赛题解
2018第九届蓝桥杯大赛软件类B组C/C++省赛目录 试题 A:第几天(结果填空) 试题 B:明码(结果填空) 试题 C:乘积尾0(结果填空) 试题 D:测试次数(结果填空) 试题 E:快速排序(结果 ...
- 7.python解答2018年第九届蓝桥杯省赛C++A组 分数
7.python解答2018年第九届蓝桥杯省赛C++A组 分数 标题:分数 1/1 + 1/2 + 1/4 + 1/8 + 1/16 + - 每项是前一项的一半,如果一共有20项,求这个和是多少,结果 ...
- 第九届蓝桥杯(省赛)C++C组真题题解
文章目录 题目链接 C组真题(剩余题目同B组真题相同,已给出B组真题题目链接) 题目结构 第一题 哪天返回 第二题 猴子分香蕉 第五题 书号验证 第六题 稍小分数 第七题 次数差 第八题 等腰三角形 ...
- 【蓝桥杯】第九届蓝桥杯单片机国赛 代码程序
第九届蓝桥杯单片机国赛 程序 题目 hex文件 代码 工程文件 B站视频 更多资料 题目 历届的省赛和国赛的题目我已经在前面的文章(点击查看)里给大家分享了(网盘资源),需要的话,直接去下载,我在这里 ...
- 关于2018年第九届蓝桥杯省赛(江苏赛区)
为啥到现在才写呢...就是懒,是真的懒.题也没刷几个 (下面题目的超链接转自这里,并不是本人解法..只是因为有题目还有题解) 4.1举行的蓝桥杯也可以说是"愚人杯"了 早早的跟同学 ...
- 2018年第九届蓝桥杯 JavaB组省赛 刷题思路及答案
前言 本人是二本院校大二的计算机系学生,已经报名了下一届的蓝桥杯省赛,整个寒假学习了很多算法知识,我是看<算法很美>这个课程学习算法的,一套学习下来确实受益匪浅,视频在b站上面都有. 此前 ...
- 第九届蓝桥杯(省赛)美斯坦福共建专业学子捷报频传
2018年4月1日起,第九届蓝桥杯全国软件和信息技术专业人才大赛(省赛)在各省市点燃战火,武汉美斯坦福信息技术有限公司合作院校共建专业的学子们捷报频传,46人斩获一等奖,获得重大历史性突破,再次刷新美 ...
- 蓝桥杯java 大纲,2019 第十届蓝桥杯Java省赛B组个人总结
前言 19年的这场蓝桥杯,对我自己的打击挺大的,以至于时隔多个月之后第十一届蓝桥杯要开始报名的时候,我才敢面对他.报名第十届蓝桥杯的时候我大二,自我感觉学的不错,但事实并非如此,当入了那句话,学术不精 ...
- 2018年第九届蓝桥杯省赛C/C++ A组(蒻鸡自己写的,看不上勿喷,自己的一点想法)
第一题 标题:分数 1/1 + 1/2 + 1/4 + 1/8 + 1/16 + -. 每项是前一项的一半,如果一共有20项, 求这个和是多少,结果用分数表示出来. 类似: 3/2 当然,这只是加了前 ...
- 2018年第九届蓝桥杯 - 省赛 - C/C++大学A组 - F.航班时间
航班时间 [问题背景] 小h前往美国参加了蓝桥杯国际赛.小h的女朋友发现小h上午十点出发,上午十二点到达美国,于是感叹到"现在飞机飞得真快,两小时就能到美国了". 小h对超音速飞行 ...
最新文章
- 网络游戏程序中解决加载卡顿的有效方法
- kafka集群的搭建
- ubuntu 如何在任意终端不填加./就可以执行文件类似ls cd cp
- 腾讯股价创新高:总裁刘炽平减持40万股 套现2.5亿港元
- java 导出wps_用java将数据导出到wps表格中,怎么实现
- P Laguna/ A database for evaluation of algorithms for measurement of QT and other waveform interval
- 推荐最近使用的一个APP
- c语言贪吃蛇添加排行榜,用C语言写贪吃蛇笔记-1
- IOS版添加phonegap--美洽客服插件教程
- 龙芯2h芯片不能进入pmon_基于龙芯2F架构的PMON分析与优化
- win7怎么关闭虚拟机服务器,为你win7系统彻底关闭退出vmware虚拟机的处理对策
- python是高级语言还是低级语言_高级与低级编程语言的解释,哪一种更容易上手?...
- 有关XLS文件的读取
- 韶大talk 评论热度抽取
- 输入法表情 mysql_Emoji表情符号在MySQL数据库中的存储
- 为什么开发与测试老掐架呢
- IMX6ULL-UBoot 20.04移植记录
- Ubuntu LTS 18.04 双硬盘双系统安装以个人优化
- Water Research | 南科大夏雨组揭示Anammox菌群微米级空间异质性和保守互作
- 抖音html数字9,抖音687是什么意思