外卖店优先级

题目链接
“饱了么”外卖系统中维护着 N 家外卖店,编号 1∼N。

每家外卖店都有一个优先级,初始时 (0 时刻) 优先级都为 0。

每经过 1 个时间单位,如果外卖店没有订单,则优先级会减少 1,最低减到 0;而如果外卖店有订单,则优先级不减反加,每有一单优先级加 2。

如果某家外卖店某时刻优先级大于 5,则会被系统加入优先缓存中;如果优先级小于等于 3,则会被清除出优先缓存。

给定 T 时刻以内的 M 条订单信息,请你计算 T 时刻时有多少外卖店在优先缓存中。

输入格式

第一行包含 3 个整数 N,M,T。

以下 M 行每行包含两个整数 ts 和 id,表示 ts 时刻编号 id 的外卖店收到一个订单。

输出格式

输出一个整数代表答案。

数据范围

1≤N,M,T≤105,
1≤ts≤T,
1≤id≤N

输入样例:

2 6 6
1 1
5 2
3 1
6 2
2 1
6 2

输出样例:

1
样例解释
6 时刻时,1 号店优先级降到 3,被移除出优先缓存;2 号店优先级升到 6,加入优先缓存。
所以是有 1 家店 (2 号) 在优先缓存中。

算法分析

这道题很容易想到枚举时间,但是枚举时间是O(n2)的时间是1010>108,我已经试过了最后一个数据过不去,那么我们开空间优化,开一个记录上一次有订单的时刻,中间时间是减少的时间

代码实现

#include<iostream>
#include<cstring>
#include<algorithm>
#define x first     //时刻
#define y second    //店家
using namespace std;
const int maxn=1e5+5;
typedef pair<int ,int >PII;
int n,m,t;
int cnt[maxn];
PII dd[maxn];
bool vis[maxn];
int last[maxn]; //上一次有订单的时刻
int main()
{memset(vis,false,sizeof(vis));cin>>n>>m>>t;for(int i=1;i<=m;i++){cin>>dd[i].x>>dd[i].y;}sort(dd+1,dd+1+m);for(int i=1;i<=m;){int j=i;while(j<=m&&dd[j]==dd[i])j++;int a=dd[i].x,b=dd[i].y,s=j-i;i=j;cnt[b]-=a-last[b]-1;if(cnt[b]<0)cnt[b]=0;if(cnt[b]<=3)vis[b]=false;cnt[b]+=s*2;if(cnt[b]>5)    vis[b]=true;last[b]=a;//if(j>m)    break;}for(int i=1;i<=n;i++){if(last[i]<t){cnt[i]-=t-last[i];if(cnt[i]<=3)   vis[i]=false;}}int res=0;for(int i=1;i<=n;i++){if(vis[i])res++;}cout<<res<<endl;
}

外卖店优先级(模拟)相关推荐

  1. 模拟-第十届蓝桥杯省赛C++A组-外卖店优先级

    模拟-第十届蓝桥杯省赛C++A组-外卖店优先级 题目: "饱了么"外卖系统中维护着 N 家外卖店,编号 1∼N. 每家外卖店都有一个优先级,初始时 (0 时刻) 优先级都为 0. ...

  2. 蓝桥杯--模拟1 AcWing 1241. 外卖店优先级

    AcWing 1241. 外卖店优先级 "饱了么"外卖系统中维护着 N 家外卖店,编号 1∼N. 每家外卖店都有一个优先级,初始时 (0 时刻) 优先级都为 0. 每经过 1 个时 ...

  3. P8685 [蓝桥杯 2019 省 A] 外卖店优先级

    题目链接:[蓝桥杯 2019 省 A] 外卖店优先级 - 洛谷 标签:模拟 思路: 思路同领接表,开一个head数组存储上一次外卖店 i 接到订单的时间. 每次处理订单消息时,先计算这天的前一天他的优 ...

  4. [蓝桥杯][2019年第十届真题]外卖店优先级、修改数组、糖果、特别数的和、等差数列

    个人题解链接,历届试题,正在更新中~ 文章目录 外卖店优先级 修改数组 糖果 特别数的和 等差数列 外卖店优先级 题目描述 "饱了么"外卖系统中维护着 N 家外卖店,编号 1 ∼ ...

  5. 蓝桥杯 外卖店优先级

    这里写自定义目录标题 题目: 暴力分析(80%): 80%代码: 满分分析: 在内存上的优化: 在运行上的优化: 有个坑: AC代码: 题目: 外卖店优先级. 先来一张AC图片 暴力分析(80%): ...

  6. 蓝桥杯2019初赛 外卖店优先级 java

    蓝桥杯2019初赛 外卖店优先级 因为疫情的原因,4月份的蓝桥杯推迟到了现在,其实一直以来也没有准备这个比赛,只有一两天时间了,刷几道真题抱一下佛脚. 下面开始说正事: 这道题如果思路不对的话,可能做 ...

  7. 试题 G: 外卖店优先级 第十届蓝桥杯

    试题 G: 外卖店优先级 时间限制: 1.0s 内存限制: 512.0MB 本题总分: 20 分 [问题描述] "饱了么"外卖系统中维护着 N 家外卖店,编号 1 ∼ N.每家外卖 ...

  8. Thirteen 外卖店优先级

    "饱了么"外卖系统中维护着N 家外卖店,编号1 N.每家外卖店都有 一个优先级,初始时(0 时刻) 优先级都为0. 每经过1 个时间单位,如果外卖店没有订单,则优先级会减少1,最低 ...

  9. 蓝桥杯真题 外卖店优先级(2019年省赛)

    试题 G: 外卖店优先级 时间限制: 1.0s 内存限制: 512.0MB 本题总分:20 分 [问题描述] "饱了么"外卖系统中维护着 N 家外卖店,编号 1 ∼ N.每家外卖店 ...

最新文章

  1. PHP开发工具 zend studio
  2. mysql conflicts with_安装MYSQL错误“conflicts with file from package mysql-libs-*” 解决方法...
  3. OBIEE 11g:Error:nQSError 36010 Server version 318 cannot read the newer version of the repository
  4. html5里可移动线性进度条的类型怎么表示,HTML5触摸事件实现移动端简易进度条的实现方法...
  5. PYG教程【三】对Cora数据集进行半监督节点分类
  6. 用java实现 两个工具和一个copy功能
  7. 中石油训练赛 - Get Strong(dfs双向搜索+二分)
  8. Spring Cloud 全家桶 入门介绍
  9. 【OpenCV】OpenCV访问像素点的三种方式
  10. 3 css 奖品出现弹出动画_10 个 GitHub 上超火的 CSS 奇技淫巧项目,找到写 CSS 的灵感!...
  11. 在Linux下安装LaTeX+CJK+中文字体的方法 [转]
  12. [Java] 蓝桥杯PREV-33 历届试题 兰顿蚂蚁
  13. matlab知识集锦
  14. 基于Montgomery算法的高速、可配置 RSA密码IP核硬件设计系列(三)——抵抗侧信道攻击设计方案
  15. SNMP Trap 报文
  16. 文件上传之IIS—put漏洞
  17. Python 数据分析微专业课程--项目实战09 房价影响因素挖掘1.项目说明2.项目具体要求3.实现思路:4.实现过程:5.结论:
  18. 微软力挺程序员硬刚996!
  19. lpx寒假作业案例12
  20. 重装系统后计算机无法启动,重装系统后电脑重启没反应是怎么回事?如何解决呢?...

热门文章

  1. 简单粗暴理解与实现机器学习之K-近邻算法(三):距离度量、欧氏距离、曼哈顿距离、切比雪夫距离、闵可夫斯基距离、标准化距离、余弦距离、汉明距离、杰卡德距离、马氏距离
  2. 【IoT】从马斯克造火箭到产品开发,快速失败很重要
  3. 神奇的canvas——点与线绘制的绚丽动画效果
  4. 计算机专业男生好撩吗,撩男生很甜很撩的句子 一撩一个准
  5. 【校企合作】湖南工业大学计算机学院与牛耳教育签约共建实训基地
  6. Json:前台对象数组传到后台解析
  7. 中国电子学会2022年12月份青少年软件编程Python等级考试试卷四级真题(含答案)
  8. 微信小程序 java校园跑腿服务平台uniapp
  9. 架构分类:软件架构、系统架构。
  10. 【爬虫进阶】常见的反爬手段和解决方法(建议收藏)