首页 > 其他分享 >蓝桥杯-外卖店优先级

蓝桥杯-外卖店优先级

时间:2024-04-09 20:58:19浏览次数:26  
标签:node 号店 优先级 int 蓝桥 flag 外卖 time id

 代码及其解析

#include<bits/stdc++.h>
using namespace std;
const int N=100010;

int order[N];  //order[id]  第id号店上一次的订单,记录的是时间 
int prior[N];  //prior[id]  第id号店的优先级
int flag[N];   //flag[id]   第id号店在不在优先缓存中

struct node{
    int time,id;
}a[N];

bool cmp(node a, node b){
    if(a.id==b.id)
        return a.time<b.time;
    return a.id<b.id;
}//排序 

int main(){
    int m,n,T;  
	cin>>n>>m>>T;
    for(int i=0;i<m;i++)
        cin>>a[i].time>>a[i].id;
    sort(a,a+m,cmp); //按时间排序
    for(int i=0;i<m;i++){
        int tt=a[i].time,  id=a[i].id;
        if(tt != order[id])  //如果当前订单不等于上一次的订单,则减去它们之间的间隔
            prior[id] -= tt-order[id]-1;
        prior[id] = prior[id] < 0 ? 0: prior[id];  //不小于0
        if(prior[id]<=3)  flag[id]=0;
        prior[id]+=2;
        if(prior[id]> 5)  flag[id]=1;
        order[id]=tt;//赋上上一个时间 
    }
    for(int i=1;i<=n;i++)  //最后处理第T时刻
        if(order[i]<T){
            prior[i] -= T-order[i];
            if(prior[i]<=3)
                flag[i]=0;
        }

    int ans=0;
    for(int i=0;i<=n;i++)
        if(flag[i])
            ans++;
    cout<<ans;
    return 0;
}

标签:node,号店,优先级,int,蓝桥,flag,外卖,time,id
From: https://blog.csdn.net/zengxuan151168/article/details/137521703

相关文章

  • 蓝桥杯-【二分】求阶乘
     思路:对于有几个0,10一定会是5的整数倍,2的因子数一定比5的多,所以只要算5的个数即可, 30%,每个n都去算#include<bits/stdc++.h>usingnamespacestd;#definelllonglongllcheck(lln){//计算n!末尾有多少个0llcnt=0;while(n)cnt+=......
  • P8625 [蓝桥杯 2015 省 B] 生命之树
    题目:链接:https://www.luogu.com.cn/problem/P8625基本思路:1.使用dp[N]记录i节点的当前最大值2.使用vectornex[N]记录图3.使用vis[N]防回退如果该节点没有子节点,那么这个点的最大值就记录为当前的值:val如果该节点有子节点,那么先遍历子节点,然后+res并记录由于使用了vis,那么......
  • 蓝桥杯历年试题 砝码称重
    看到这个题,自然而然想到用集合set来做,因为set本身就有去重的效果。#include<bits/stdc++.h>usingnamespacestd;intN;intw;set<int>s;intmain(){ cin>>N; for(inti=1;i<=N;i++) { cin>>w; vector<int>v(s.begin(),s.end()); //这里需要用v......
  • Spring Boot、Nacos配置文件properties、yml、yaml的优先级
    在标准的SpringBoot应用中,本地配置加载顺序如下:bootstrap.yamlbootstrap.propertiesbootstrap-{profile}.yamlbootstrap-{profile}.propertiesapplication.yamlapplication.propertiesapplication-{profile}.yamlapplication-{profile}.propertiesnacos配置中心共享......
  • 【每周例题】蓝桥杯 C++ 多数
    多数元素题目多数元素思路分析一.第一个想法,暴力遍历,然后会发现容易超时,那么更进一步想:哈希表使用哈希表存储每个数出现的次数,即使用哈希映射(HashMap)来存储每个元素以及出现的次数。对于哈希映射中的每个键值对,键表示一个元素,值表示该元素出现的次数加入后,遍历所有键值对,......
  • 苍穹外卖学习笔记——第二天
    员工管理、分类管理新增员工需求分析和设计产品原型业务规则账号必须是唯一的。手机号为合法的11位手机号码。身份证号为合法的18位身份证号码。密码默认为123456。接口设计本项目约定:管理端发出的请求,统一使用/admin作为前缀,用户端发出的请求,统一使用/user作为前......
  • 线程优先级
    线程调度器按照优先级决定应该调度哪个线程来执行,优先级高的只是获得调度的概率增加了,不一定每次都调度优先级高的线程的优先级用数字来表示,范围是(1~10)Thread.MIN_PRIORITY=1;Thread.MAX_PRIORITY=10;Thread.NORM_PRIORITY=5;使用以下方法来改变或获取优先级get()priority......
  • 蓝桥杯备考随手记: Java 中常用的排序和查找方法
    1.排序方法Arrays.sort():用于对数组进行排序。它使用优化的快速排序算法来对数组进行排序。示例代码:int[]arr={5,2,8,1,6};Arrays.sort(arr);Collections.sort():用于对集合进行排序。它使用优化的归并排序算法来对集合进行排序。示例代码:List<Integer>list......
  • 蓝桥杯备考随手记: BigInteger 和 BigDecimal
    在Java中,BigInteger和BigDecimal是用来处理大整数和高精度浮点数的类,分别属于java.math包。下面分别介绍这两个类的特点、用途和常用方法:BigInteger:特点:BigInteger类表示任意精度的整数,可以处理比long型和int型更大范围的整数。BigInteger是不可变的(immutable)类,一......
  • P8794 [蓝桥杯 2022 国 A] 环境治理
    P8794[蓝桥杯2022国A]环境治理-洛谷|计算机科学教育新生态(luogu.com.cn)#include<iostream>usingnamespacestd;#definelllonglongconstintN=150;constintinf=0x7fffffff;intn,q;intd[N][N],l[N][N];intt[N][N];voidfloyd(){for(intk=......