外卖店优先级(模拟)
外卖店优先级
题目链接
“饱了么”外卖系统中维护着 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;
}
外卖店优先级(模拟)相关推荐
- 模拟-第十届蓝桥杯省赛C++A组-外卖店优先级
模拟-第十届蓝桥杯省赛C++A组-外卖店优先级 题目: "饱了么"外卖系统中维护着 N 家外卖店,编号 1∼N. 每家外卖店都有一个优先级,初始时 (0 时刻) 优先级都为 0. ...
- 蓝桥杯--模拟1 AcWing 1241. 外卖店优先级
AcWing 1241. 外卖店优先级 "饱了么"外卖系统中维护着 N 家外卖店,编号 1∼N. 每家外卖店都有一个优先级,初始时 (0 时刻) 优先级都为 0. 每经过 1 个时 ...
- P8685 [蓝桥杯 2019 省 A] 外卖店优先级
题目链接:[蓝桥杯 2019 省 A] 外卖店优先级 - 洛谷 标签:模拟 思路: 思路同领接表,开一个head数组存储上一次外卖店 i 接到订单的时间. 每次处理订单消息时,先计算这天的前一天他的优 ...
- [蓝桥杯][2019年第十届真题]外卖店优先级、修改数组、糖果、特别数的和、等差数列
个人题解链接,历届试题,正在更新中~ 文章目录 外卖店优先级 修改数组 糖果 特别数的和 等差数列 外卖店优先级 题目描述 "饱了么"外卖系统中维护着 N 家外卖店,编号 1 ∼ ...
- 蓝桥杯 外卖店优先级
这里写自定义目录标题 题目: 暴力分析(80%): 80%代码: 满分分析: 在内存上的优化: 在运行上的优化: 有个坑: AC代码: 题目: 外卖店优先级. 先来一张AC图片 暴力分析(80%): ...
- 蓝桥杯2019初赛 外卖店优先级 java
蓝桥杯2019初赛 外卖店优先级 因为疫情的原因,4月份的蓝桥杯推迟到了现在,其实一直以来也没有准备这个比赛,只有一两天时间了,刷几道真题抱一下佛脚. 下面开始说正事: 这道题如果思路不对的话,可能做 ...
- 试题 G: 外卖店优先级 第十届蓝桥杯
试题 G: 外卖店优先级 时间限制: 1.0s 内存限制: 512.0MB 本题总分: 20 分 [问题描述] "饱了么"外卖系统中维护着 N 家外卖店,编号 1 ∼ N.每家外卖 ...
- Thirteen 外卖店优先级
"饱了么"外卖系统中维护着N 家外卖店,编号1 N.每家外卖店都有 一个优先级,初始时(0 时刻) 优先级都为0. 每经过1 个时间单位,如果外卖店没有订单,则优先级会减少1,最低 ...
- 蓝桥杯真题 外卖店优先级(2019年省赛)
试题 G: 外卖店优先级 时间限制: 1.0s 内存限制: 512.0MB 本题总分:20 分 [问题描述] "饱了么"外卖系统中维护着 N 家外卖店,编号 1 ∼ N.每家外卖店 ...
最新文章
- PHP开发工具 zend studio
- mysql conflicts with_安装MYSQL错误“conflicts with file from package mysql-libs-*” 解决方法...
- OBIEE 11g:Error:nQSError 36010 Server version 318 cannot read the newer version of the repository
- html5里可移动线性进度条的类型怎么表示,HTML5触摸事件实现移动端简易进度条的实现方法...
- PYG教程【三】对Cora数据集进行半监督节点分类
- 用java实现 两个工具和一个copy功能
- 中石油训练赛 - Get Strong(dfs双向搜索+二分)
- Spring Cloud 全家桶 入门介绍
- 【OpenCV】OpenCV访问像素点的三种方式
- 3 css 奖品出现弹出动画_10 个 GitHub 上超火的 CSS 奇技淫巧项目,找到写 CSS 的灵感!...
- 在Linux下安装LaTeX+CJK+中文字体的方法 [转]
- [Java] 蓝桥杯PREV-33 历届试题 兰顿蚂蚁
- matlab知识集锦
- 基于Montgomery算法的高速、可配置 RSA密码IP核硬件设计系列(三)——抵抗侧信道攻击设计方案
- SNMP Trap 报文
- 文件上传之IIS—put漏洞
- Python 数据分析微专业课程--项目实战09 房价影响因素挖掘1.项目说明2.项目具体要求3.实现思路:4.实现过程:5.结论:
- 微软力挺程序员硬刚996!
- lpx寒假作业案例12
- 重装系统后计算机无法启动,重装系统后电脑重启没反应是怎么回事?如何解决呢?...
热门文章
- 简单粗暴理解与实现机器学习之K-近邻算法(三):距离度量、欧氏距离、曼哈顿距离、切比雪夫距离、闵可夫斯基距离、标准化距离、余弦距离、汉明距离、杰卡德距离、马氏距离
- 【IoT】从马斯克造火箭到产品开发,快速失败很重要
- 神奇的canvas——点与线绘制的绚丽动画效果
- 计算机专业男生好撩吗,撩男生很甜很撩的句子 一撩一个准
- 【校企合作】湖南工业大学计算机学院与牛耳教育签约共建实训基地
- Json:前台对象数组传到后台解析
- 中国电子学会2022年12月份青少年软件编程Python等级考试试卷四级真题(含答案)
- 微信小程序 java校园跑腿服务平台uniapp
- 架构分类:软件架构、系统架构。
- 【爬虫进阶】常见的反爬手段和解决方法(建议收藏)