【AcWing】学了一坤时才明白的一道题

追求适度,才能走向成功;人在顶峰,迈步就是下坡;身在低谷,抬足既是登高;弦,绷得太紧会断;人,思虑过度会疯;水至清无鱼,人至真无友,山至高无树;适度,不是中庸,而是一种明智的生活态度。

导读:本篇文章讲解 【AcWing】学了一坤时才明白的一道题,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

🎆音乐分享 (点击链接可以听哦)

The Right Path – Thomas Greenberg
 


【AcWing】学了一坤时才明白的一道题

 

这道题小吉花了一坤时才弄明白,虽然花的时间有点长

但是至少是明白了

😎😎😎😎😎😎 

1241. 外卖店优先级 – AcWing题库 

【AcWing】学了一坤时才明白的一道题 

这道题如果纯纯用暴力,也不是不能做,毕竟是蓝桥杯的题,还是可以拿到分的,但是拿不全

下面就是优化版本

⭐⭐⭐

注意用sort为pair排序时,先比较  .first,再比较  .second,

变化位置时,  .first  .second 一起变化

具体可以参考下面的代码

⭐⭐⭐

代码的总体思路就是先排序,把 ts 相同的放在一起 

#include <iostream>
#include <algorithm>

#define x first
#define y second

using namespace std;

typedef pair<int, int> PII;

const int N = 100010;

int n, m, T;
int score[N];//优先级
int last[N];//店铺i上一次有订单的时间 
bool st[N];//是否加入到优先缓存中

PII order[N];

int main()
{
    scanf("%d%d%d", &n, &m, &T);
    for (int i = 0; i < m; i ++ ) scanf("%d%d", &order[i].x, &order[i].y);// ts id
    sort(order, order + m);

    for (int i = 0; i < m;)
    {
        int j = i;
        while (j < m && order[j] == order[i]) j ++ ;//代表order[].x order[].y都对应相等

        int t = order[i].x, id = order[i].y, cnt = j - i;
        i = j;

        score[id] -= t - last[id] - 1;//时间差,具体看下面的解释
        if (score[id] < 0) score[id] = 0;
        if (score[id] <= 3) st[id] = false; // 以上处理的是t时刻之前的信息

        score[id] += cnt * 2;
        if (score[id] > 5) st[id] = true;

        last[id] = t;//存下数  别忘记了
    }

    for (int i = 1; i <= n; i ++ )//处理最后一个
        if (last[i] < T)
        {
            score[i] -= T - last[i];
            if (score[i] <= 3) st[i] = false;
        }

    int res = 0;
    for (int i = 1; i <= n; i ++ ) res += st[i];

    printf("%d\n", res);

    return 0;
}

 🍔 score[id] – = t – last[id] – 1

t 代表当前时间,last[id]代表 t 前一个的时间,因为要算出整块的时间,这样方便改变优先值

因为已经跳出while循环了,所以这一部分是没有接到订单的,所以是score[] –  

为什么要 -1

比如 t = 5,last[id] = 2,那么就是 3,4两个数(5-2-1

🍔最后一个订单怎么处理

【AcWing】学了一坤时才明白的一道题

 Code over!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/131364.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!