(模拟)(笔记)1241. 外卖店优先级

简介: (模拟)(笔记)1241. 外卖店优先级

卡壳点:n m弄反了,结构体没有正确排序导致卡壳。之前一直强调解题不要跳步,要按照必要流程走一遍,结果还是一直出错,突然意识到这就像在错题本错误原因上写粗心大意一样,解决不了问题,还得要再系统总结一次并放在一起记忆,做题时按照记忆的步骤走一遍。


AcWing 1241. 外卖店优先级 - AcWing

// 9:50~10:08
// 15:04~15:21
// 没有固定范围,所以不属于滑动窗口
#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
using namespace std;
typedef pair<int,int> PII;
const int N = 1e5 + 10;
int last[N],v[N];
bool st[N];
PII f[N];
int main(){
    int n,m,t;
    cin >> n >> m >> t;
    for(int i = 0; i< m;i++){
        int a,b;
        scanf("%d%d",&a,&b);
        f[i] = {a,b};
    }
    sort(f,f+m);
    for(int i = 0;i < m;){
        int j = i;
        while(f[i] == f[j] && j < m) j++;// 必定动一次,所以后面的cnt=j-i而不是j-i+1
        int cnt = j - i,id = f[i].second,time = f[i].first; 
        i = j;
        v[id] -= (time - last[id] - 1);
        //   cout << v[id] << " " << id << endl;
        //   cout << cnt << endl;
        if(v[id] < 0) v[id] = 0;
        if(v[id] <= 3) st[id] = false;
        v[id] += cnt * 2;
        if(v[id] > 5) st[id] = true;
        last[id] = time;
        // cout << v[id] << " " << id << endl;
    }
    for(int i = 1;i <= n;i++){
        v[i] -= t - last[i];
        if(v[i] <= 3) st[i] = false;
    }
    int ans = 0;
    for(int i = 1;i <= n;i++){
        if(st[i]) ans++;
        // cout << i << endl;
    }
    cout << ans << endl;
    return 0;
}
目录
相关文章
|
10月前
|
移动开发 前端开发 Java
|
机器学习/深度学习 数据采集 算法
数据稀缺条件下的时间序列微分:符号回归(Symbolic Regression)方法介绍与Python示例
有多种方法可以处理时间序列数据中的噪声。本文将介绍一种在我们的研究项目中表现良好的方法,特别适用于时间序列概况中数据点较少的情况。
308 1
数据稀缺条件下的时间序列微分:符号回归(Symbolic Regression)方法介绍与Python示例
|
负载均衡 应用服务中间件 Linux
"揭晓nginx的神秘力量:如何实现反向代理与负载均衡,拯救服务器于水火?"
【8月更文挑战第20天】在Linux环境下,nginx作为高性能HTTP服务器与反向代理工具,在网站优化及服务器负载均衡中扮演重要角色。本文通过电商平台案例,解析nginx如何解决服务器压力大、访问慢的问题。首先介绍反向代理原理,即客户端请求经由代理服务器转发至内部服务器,隐藏真实服务器地址;并给出配置示例。接着讲解负载均衡原理,通过将请求分发到多个服务器来分散负载,同样附有配置实例。实践表明,采用nginx后,不仅服务器压力得到缓解,还提升了访问速度与系统稳定性。
383 3
|
存储
惊世骇俗!开源 PolarDB-X 部署安装大冒险,全程心跳与惊喜不断!
【8月更文挑战第8天】作为技术爱好者的我近期完成了开源PolarDB-X的部署安装,过程虽具挑战,但终获成功。现分享全过程:先确保服务器配置达标(内存、存储及网络)。接着下载官方最新稳定版,解压至指定目录。配置参数需细心调整以适配需求,如设置端口及数据路径。最后启动服务并留意可能的问题,如下载中断或配置错误等,可通过日志排查解决。部署完成后,见到服务正常运行时的喜悦难以言表。尽管PolarDB-X部署稍显复杂,但按部就班即可达成。期待与大家共同探讨学习!
420 1
|
存储 Kubernetes 调度
在K8S中,是怎么实现数据持久化的?
在K8S中,是怎么实现数据持久化的?
|
存储 监控 Cloud Native
云原生数据仓库AnalyticDB产品使用合集之如何添加索引
阿里云AnalyticDB提供了全面的数据导入、查询分析、数据管理、运维监控等功能,并通过扩展功能支持与AI平台集成、跨地域复制与联邦查询等高级应用场景,为企业构建实时、高效、可扩展的数据仓库解决方案。以下是对AnalyticDB产品使用合集的概述,包括数据导入、查询分析、数据管理、运维监控、扩展功能等方面。
503 2
|
人工智能 自然语言处理 安全
ChatGPT高效搞定Excel数据分析
ChatGPT高效搞定Excel数据分析
315 0
uniapp使用weiview引入本地Html5+ video 基于mui 5+的 视频播放器
uniapp使用weiview引入本地Html5+ video 基于mui 5+的 视频播放器
|
安全 Java Android开发
Eclipse Paho MQTT客户端Java源码分析
Eclipse Paho MQTT客户端Java源码分析
685 0
Eclipse Paho MQTT客户端Java源码分析
|
自然语言处理 编译器 Linux
【三、深入浅出GCC编译器】一个源文件到可执行文件是如何生成的:GCC编译工具链及编译参数详解(二)
【三、深入浅出GCC编译器】一个源文件到可执行文件是如何生成的:GCC编译工具链及编译参数详解
792 0
【三、深入浅出GCC编译器】一个源文件到可执行文件是如何生成的:GCC编译工具链及编译参数详解(二)