每日一题冲刺大厂第十三天 海港

简介: 大家好,我是泡泡,给大家带来每日一题的目的是为了更好的练习算法,我们的每日一题这个月进度是数据结构,让大家练到各种各样的数据结构题目,熟悉数据结构的增删改查,一年以后,蜕变成为一个不一样的自己!

今日题目:海港


题目描述


小K是一个海港的海关工作人员,每天都有许多船只到达海港,船上通常有很多来自不同国家的乘客。


小K对这些到达海港的船只非常感兴趣,他按照时间记录下了到达海港的每一艘船只情况;对于第i艘到达的船,他记录了这艘船到达的时间ti (单位:秒),船上的乘 客数k_iki,以及每名乘客的国籍 xi,1,xi,2,…,xi,k。


小K统计了nn艘船的信息,希望你帮忙计算出以每一艘船到达时间为止的24小时(24小时=86400秒)内所有乘船到达的乘客来自多少个不同的国家。


形式化地讲,你需要计算nn条信息。对于输出的第ii条信息,你需要统计满足ti−86400


输入格式


第一行输入一个正整数nn,表示小K统计了nn艘船的信息。


接下来nn行,每行描述一艘船的信息:前两个整数t_iti和k_iki分别表示这艘船到达海港的时间和船上的乘客数量,接下来k_iki个整数x_{i,j}xi,j表示船上乘客的国籍。


保证输入的t_iti是递增的,单位是秒;表示从小K第一次上班开始计时,这艘船在第t_iti秒到达海港。


保证 1≤n≤105 ∑ki≤3∗105 ,10^51≤xi,j≤105,1≤ti−1≤ti≤109。


其中∑ki表示所有的ki的和。


输出格式


输出n行,第ii行输出一个整数表示第ii艘船到达后的统计信息。


题目分析


题目难度:⭐️⭐️⭐️


题目涉及算法:队列,模拟。


ps:有能力的小伙伴可以尝试优化自己的代码或者一题多解,这样能综合提升自己的算法能力


题解报告:


1.思路


直接队列模拟情况,再循环里面特殊判断一下时间的情况即可。


2.代码


#include<bits/stdc++.h>
using namespace std;
int n,t,m,x;
const int N = 1000005;
int a[N];
int ans; 
struct node{
    int s,t;
};
int main()
{
  queue<node>q;
  node h;
  cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>t>>m;
        while(q.size())
        {
            h = q.front();
            if(h.t+86400<=t)
            {
                a[h.s]--;
                if(a[h.s]==0)
        {
          ans--;
              }
        q.pop();
                continue;
            }
            break;
        }
        for(int j=1;j<=m;j++)
        {
            cin>>x;
            h.s = x,h.t = t;
            q.push(h);
            a[x]++;
            if(a[x]==1)
      {
        ans++;
          }
    }
        cout<<ans;
    }
    return 0;
}


目录
相关文章
|
机器学习/深度学习 算法
每日一题冲刺大厂第十二天 杂物
大家好,我是泡泡,给大家带来每日一题的目的是为了更好的练习算法,我们的每日一题提高组是为了有余力的同学准备的,让大家练到各种各样的题目,一年以后,蜕变成为一个不一样的自己!
86 0
|
算法
每日一题冲刺大厂 第二十二天 喝咖啡
大家好,我是泡泡,给大家带来每日一题的目的是为了更好的练习算法,我们的每日一题为了让大家练到各种各样的题目,熟悉各种题型,一年以后,蜕变成为一个不一样的自己!
92 0
|
存储 算法
每日一题冲刺大厂第八天 二叉树深度
大家好,我是泡泡,给大家带来每日一题的目的是为了更好的练习算法,我们的每日一题这个月进度是数据结构,让大家练到各种各样的数据结构题目,熟悉数据结构的增删改查,一年以后,蜕变成为一个不一样的自己!
89 0
|
算法 Java
每日一题冲刺大厂第二十天 砍树
大家好,我是泡泡,给大家带来每日一题的目的是为了更好的练习算法,我们的每日一题为了让大家练到各种各样的题目,熟悉各种题型,一年以后,蜕变成为一个不一样的自己!
60 0
|
监控
蓝桥杯真题31日冲刺国一 | 每日题解报告 第十三天
大家好,这里是泡泡,今天周日开摆!
77 0
蓝桥杯真题31日冲刺国一 | 每日题解报告 第十三天
|
算法
每日一题冲刺大厂 第二十四天 开心的金明
大家好,我是泡泡,给大家带来每日一题的目的是为了更好的练习算法,我们的每日一题为了让大家练到各种各样的题目,熟悉各种题型,一年以后,蜕变成为一个不一样的自己!
79 0
|
算法
每日一题冲刺大厂第十天 淘汰赛
大家好,我是泡泡,给大家带来每日一题的目的是为了更好的练习算法,我们的每日一题这个月进度是数据结构,让大家练到各种各样的数据结构题目,熟悉数据结构的增删改查,一年以后,蜕变成为一个不一样的自己!
101 0
|
人工智能 移动开发 Shell
蓝桥杯真题31日冲刺国一 | 每日题解报告 第十一天
大家好啊,我是泡泡,今天的题总体来说不难,大家加油
132 0
蓝桥杯真题31日冲刺国一 | 每日题解报告 第十四天
大家好,我是泡泡,今天的题很多都是模板,大家要记好哦
104 0
蓝桥杯真题31日冲刺国一 | 每日题解报告 第五天
大家好,我是泡泡,给大家带来今天的题解
121 0