题目背景

NOIP2016 普及组 T3

题目描述

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

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

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

形式化地讲,你需要计算 nn 条信息。对于输出的第 ii 条信息,你需要统计满足 t_i-86400<t_p \le t_iti​−86400<tp​≤ti​ 的船只 pp,在所有的 x_{p,j}xp,j​ 中,总共有多少个不同的数。

输入格式

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

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

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

保证 1 \le n \le 10^51≤n≤105,\sum{k_i} \le 3\times 10^5∑ki​≤3×105 ,1\le x_{i,j} \le 10^51≤xi,j​≤105, 1 \le t_{i-1}\le t_i \le 10^91≤ti−1​≤ti​≤109。

其中 \sum{k_i}∑ki​ 表示所有的 k_iki​ 的和。

输出格式

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

输入输出样例

输入 #1

3
1 4 4 1 2 2
2 2 2 3
10 1 3

输出 #1

3
4
4

输入 #2

4
1 4 1 2 2 3
3 2 2 3
86401 2 3 4
86402 1 5

输出 #2     

3
3
3
4

说明/提示

【样例解释 1】

第一艘船在第 11 秒到达海港,最近 2424 小时到达的船是第一艘船,共有 44 个乘客,分别是来自国家 4,1,2,24,1,2,2,共来自 33 个不同的国家;

第二艘船在第 22 秒到达海港,最近 2424 小时到达的船是第一艘船和第二艘船,共有 4 + 2 = 64+2=6 个乘客,分别是来自国家 4,1,2,2,2,34,1,2,2,2,3,共来自 44 个不同的国家;

第三艘船在第 1010 秒到达海港,最近 2424 小时到达的船是第一艘船、第二艘船和第三艘船,共有 4+2+1=74+2+1=7 个乘客,分别是来自国家 4,1,2,2,2,3,34,1,2,2,2,3,3,共来自 44 个不同的国家。

【样例解释 2】

第一艘船在第 11 秒到达海港,最近 2424 小时到达的船是第一艘船,共有 44 个乘客,分别是来自国家 1,2,2,31,2,2,3,共来自 33 个不同的国家。

第二艘船在第 33 秒到达海港,最近 2424 小时到达的船是第一艘船和第二艘船,共有 4+2=64+2=6 个乘客,分别是来自国家 1,2,2,3,2,31,2,2,3,2,3,共来自 33 个不同的国家。

第三艘船在第 8640186401 秒到达海港,最近 2424 小时到达的船是第二艘船和第三艘船,共有 2+2=42+2=4 个乘客,分别是来自国家 2,3,3,42,3,3,4,共来自 33 个不同的国家。

第四艘船在第 8640286402 秒到达海港,最近 2424 小时到达的船是第二艘船、第三艘船和第四艘船,共有 2+2+1=52+2+1=5 个乘客,分别是来自国家 2,3,3,4,52,3,3,4,5,共来自 44个 不同的国家。

【数据范围】

  • 对于 10\%10% 的测试点,n=1,\sum k_i \leq 10,1 \leq x_{i,j} \leq 10, 1 \leq t_i \leq 10n=1,∑ki​≤10,1≤xi,j​≤10,1≤ti​≤10。
  • 对于 20\%20% 的测试点,1 \leq n \leq 10, \sum k_i \leq 100,1 \leq x_{i,j} \leq 100,1 \leq t_i \leq 327671≤n≤10,∑ki​≤100,1≤xi,j​≤100,1≤ti​≤32767。
  • 对于 40\%40% 的测试点,1 \leq n \leq 100, \sum k_i \leq 100,1 \leq x_{i,j} \leq 100,1 \leq t_i \leq 864001≤n≤100,∑ki​≤100,1≤xi,j​≤100,1≤ti​≤86400。
  • 对于 70\%70% 的测试点,1 \leq n \leq 1000, \sum k_i \leq 3000,1 \leq x_{i,j} \leq 1000,1 \leq t_i \leq 10^91≤n≤1000,∑ki​≤3000,1≤xi,j​≤1000,1≤ti​≤109。
  • 对于 100\%100% 的测试点,1 \leq n \leq 10^5,\sum k_i \leq 3\times 10^5, 1 \leq x_{i,j} \leq 10^5,1\leq t_i \leq 10^91≤n≤105,∑ki​≤3×105,1≤xi,j​≤105,1≤ti​≤109。

这道题是NOIP2016普及组的第三题,比较难,是经典的队列       AC代码:

#include<iostream>
#include<queue>
using namespace std;
struct node
{int t,c;
};
queue<node> q;
int a[100005];
int main()
{int i,n,t,j,k,c,cnt=0;cin>>n;for(i=1;i<=n;i++){cin>>t>>k;for(j=1;j<=k;j++){cin>>c;q.push(node({t,c}));if(a[c]==0) cnt++;a[c]++;}while(q.back().t- q.front() .t>=86400){if((--a[q.front().c ])==0)cnt--;q.pop();}cout<<cnt<<endl;}return 0;
} 

P2058 [NOIP2016 普及组] 海港相关推荐

  1. 2021-09-18P1328 [NOIP2014 提高组] 生活大爆炸版石头剪刀布P2058 [NOIP2016 普及组] 海港

    题目描述 石头剪刀布是常见的猜拳游戏:石头胜剪刀,剪刀胜布,布胜石头.如果两个人出拳一 样,则不分胜负.在<生活大爆炸>第二季第8集中出现了一种石头剪刀布的升级版游戏. 升级版游戏在传统的 ...

  2. 洛谷P2058 [NOIP2016 普及组] 海港

    模拟题,刚开始准备对每个船用队列进行储存,但是等船离开时每次都会遍历一遍这条船,时间复杂度为o(mn).所以应该存每个人 #include<bits/stdc++.h>using name ...

  3. NOIP2016普及组复赛第一题的AC程序加题解pascal

    P老师需要去商店买n支铅笔作为小朋友们参加NOIP的礼物.她发现商店一共有 3种包装的铅笔,不同包装内的铅笔数量有可能不同,价格也有可能不同.为了公平起 见,P老师决定只买同一种包装的铅笔.商店不允许 ...

  4. 洛谷——P1909 [NOIP2016 普及组] 买铅笔

    P1909 [NOIP2016 普及组] 买铅笔 题目描述 P老师需要去商店买n支铅笔作为小朋友们参加NOIP的礼物.她发现商店一共有 33种包装的铅笔,不同包装内的铅笔数量有可能不同,价格也有可能不 ...

  5. P1909 [NOIP2016 普及组] 买铅笔

    P1909 [NOIP2016 普及组] 买铅笔 提交308.01k 通过130.89k 时间限制1.00s 内存限制125.00MB 提交答案加入题单复制题目 做题计划(首页) 个人题单 团队题单 ...

  6. NOIP2016 普及组 总结+题目吐槽+代码+简单题解

    提高组回来之后,像往年一样,做了一下普及组的题 先吐槽一下 T1 这题一眼看上去以为可以用不同种类的铅笔,没想到只能用一种种类,我240B搞定 #include<cstdio> int m ...

  7. [NOIP2016 普及组] 买铅笔

    [NOIP2016 普及组] 买铅笔 题目背景 NOIP2016 普及组 T1 题目描述 P 老师需要去商店买 nnn 支铅笔作为小朋友们参加 NOIP 的礼物.她发现商店一共有 333 种包装的铅笔 ...

  8. 【做题记录】[NOIP2016 普及组] 魔法阵

    P2119 魔法阵 2016年普及组T4 题意: 给定一系列元素 \(\{X_i\}\) ,求满足以下不等式的每一个元素作为 \(a,b,c,d\) 的出现次数 . \[\begin{cases}X_ ...

  9. noip2016普及组初赛中山市成绩表及分数线

    广东中山初赛分数线63分~ 2016年中山市信息学竞赛暨全国信息学联赛成绩表(普及组)   排名 姓名 性别 学校 年级 参赛语种 指导教师 成绩 1 徐熠伟 男 中山市中山纪念中学 初一 pasca ...

最新文章

  1. oracle数据库源数据路径,oracle中用什么命令查找数据文件所在路径呢?
  2. 和smi_nvidia-smi 报错:无法与 nvidia driver 通信
  3. 自己实现多线程的socket,socketserver源码剖析
  4. 解决IntelliJ IDEA下Maven报错Unknown lifecycle phase “.test.skip=true“. You must specify a valid lifecycle
  5. python安装sqap_python文件I/O
  6. java valueof_Java Short类valueOf()方法及示例
  7. 电脑无法检查计算机更新,安装win7系统弹出错误提示无法检查更新的方法
  8. 【写作技巧】毕业论文写作资料--刊物搜索
  9. [带权并查集] Jzoj P1503 体育场
  10. Javascript特效:字体火焰背景
  11. 微信语音技术原理_微信语音多群直播原理-一起学堂
  12. C语言结构体内存对齐
  13. NI Multisim 14.0蜂鸣器为什么不响_Multisim软件操作介绍及记分电路的绘制
  14. android真机调试工具,ADB 安卓真机调试工具
  15. 关于“Pycharm复制到word文档出现乱码”问题——解决方法
  16. Bypass个人原创文章汇总
  17. python模拟登陆微博_Python模拟微博登陆的实例讲解
  18. DELPHI 旧控件安装到 DELPHI11 新版环境的操作
  19. android源代码中repo升级后出现的问题
  20. PDF - 使用 Adobe Acrobat 压缩 PDF 大小

热门文章

  1. 室外定位:高精度北斗RTK定位技术
  2. tenda v311r
  3. 旋转机械 | 基于ANSYS WB平台的滑动轴承分析工具(一)
  4. 一文搞懂UART通信协议
  5. logging java日志选择
  6. SM4密码算法实现(C语言只使用stdio.h库)
  7. 自定义Camera系列之:SurfaceView + Camera
  8. 【建模干货】maya2020快捷键大全,全新整合分类,建模小白必看
  9. 合肥工业大学机器人足球仿真robcup作业三(python实现)附代码有注释
  10. c# 一个类让你明白 Aop 原理