noip2016海港
题目描述 Description
小K是一个海港的海关工作人员,每天都有许多船只到达海港,船上通常有很多来自不同国家的乘客。
小K对这些到达海港的船只非常感兴趣,他按照时间记录下了到达海港的每一艘船只情况;对于第i艘到达的船,他记录了这艘船到达的时间ti (单位:秒),船上的乘 客数星ki,以及每名乘客的国籍 x(i,1), x(i,2),…,x(i,k);。
小K统计了n艘船的信息,希望你帮忙计算出以每一艘船到达时间为止的24小时(24小时=86400秒)内所有乘船到达的乘客来自多少个不同的国家。
形式化地讲,你需要计算n条信息。对于输出的第i条信息,你需要统计满足 ti - 86400 < tp <= ti的船只p,在所有的x(p,j)中,总共有多少个不同的数。
输入描述 Input Description
第一行输入一个正整数n,表示小K统计了 n艘船的信息。
接下来n行,每行描述一艘船的信息:前两个整数ti和ki分别表示这艘船到达海港的时间和船上的乘客数量,接下来ki个整数x(i,j)表示船上乘客的国7。
保证输入的ti是递增的,单位是秒;表示从小K第一次上班开始计时,这艘船在第 ti 秒到达海港。
保证 , ,, 。
其中表示所有的ki的和。
输出描述 Output Description
输出n行,第i行输出一个整数表示第i艘船到达后的统计信息。
样例输入 Sample Input
3
1 4 4 1 2 2
2 2 2 3
10 1 3
样例输出 Sample Output
3
4
4
这道题当时在考试的时候没写出来(当时太弱),根本没有思路,直接暴力好像是45.考完了看了正解感觉自己简直宛如一个智障
思路全在注释里了。
#include<stdio.h>
#include<string.h>
#define tmax 86400
const int len=;
int t[len],a[len],b[len],s[len];//a桶排,国籍个数
int main()
{
int n,i,j,k,p,r=,ans=;
scanf("%d",&n);
for(i=;i<=n;i++) //输入
{
scanf("%d %d",&t[i],&k);//t时间,k人数
s[i]=s[i-]+k;//s代表第i次的轮船前的人数
for(j=;j<=k;j++)
{
r++;//总人数
scanf("%d",&b[r]);//b代表第r个人国籍
}
}
memset(a,,sizeof(a));
p=;
for(i=;i<=n;i++)
{
for(j=s[i-]+;j<=s[i];j++)//第i轮来的人
{
if(a[b[j]]==)ans++;//如果第j个人是该国家来的第一个人,国家个数++
a[b[j]]++;//记录该国家来过
}
while(t[i]-t[p]>=tmax)//如果i,p两艘船的▲t 不在一天内
{
for(j=s[p-]+;j<=s[p];j++)//p这艘船来的人
{
a[b[j]]--;//扣除某人的国籍
if(a[b[j]]==)ans--;//如这国已无人,去掉这国
}
p++;//这艘船已不属于24小时来的船,删
}
printf("%d",ans);
}
}
noip2016海港的更多相关文章
- $NOIp$普及组做题记录
\([NOIp2014]\) 螺旋矩阵 \(Sol\) 直接模拟,一次走一整行或者一整列.复杂度\(O(n)\). \(Code\) #include<bits/stdc++.h> #de ...
- 海港(NOIP2016)
题目链接:海港 这一题怎么样呢?还好吧,也不是太难,没有用到什么特殊的算法,但写法还是很值得学习的.下面讲一下思路: 我们维护三个队列(这里我们采用自己手写的队列,因为这比STL的要快,不过这一题,S ...
- NOIP2016普及组解题报告
概述 \(NOIP2016\)普及组的前三题都比较简单,第四题也有很多的暴力分,相信参加了的各位\(OIer\)在\(2016\)年都取得了很好的成绩. 那么,我将会分析\(NOIP2016\)普及组 ...
- NOIp2016 Day1&Day2 解题报告
Day1 T1 toy 本题考查你会不会编程. //toy //by Cydiater //2016.11.19 #include <iostream> #include <cstd ...
- NOIp2016 游记
DAY -2 不要问我为什么现在就开了一篇博客. 本来想起个NOIp2016爆零记或者NOIp2016退役记之类的,但是感觉现在不能乱立flag了.所以就叫游记算了. 前几场模拟赛崩了一场又一场,RP ...
- [Noip2016]蚯蚓 D2 T2 队列
[Noip2016]蚯蚓 D2 T2 Description 本题中,我们将用符号[c]表示对c向下取整,例如:[3.0」= [3.1」=[3.9」=3.蛐蛐国最近蚯蚓成灾了!隔壁跳 蚤国的跳蚤也拿蚯 ...
- [NOIP2016]愤怒的小鸟 D2 T3 状压DP
[NOIP2016]愤怒的小鸟 D2 T3 Description Kiana最近沉迷于一款神奇的游戏无法自拔. 简单来说,这款游戏是在一个平面上进行的. 有一架弹弓位于(0,0)处,每次Kiana可 ...
- NOIP2016普及总结
---恢复内容开始--- 当时我说如果不出意外有385,结果就这么跪在了第二题,惨啊 本来以为发挥算正常,结果这发挥太不正常了 [T1] 水题啊[趴 注意下细节就好考你会不会写代码. [T2] 这题大 ...
- Noip2016
<这篇是以前的,不开新的了,借版面来换了个标题> 高二了 开学一周,每天被文化课作业碾压... 但是仍然阻挡不了想刷题的心情... 对付noip2016的几块:(有点少,以后补) 高精度( ...
随机推荐
- C# SMTP 邮件发送之QQ邮箱篇
邮件发送大家都已经非常熟悉了,微软自带的System.Net.Mail也很好用,那为什么还要说呢? QQ邮箱的SMTP以前是非SSL,用未加密的25端口,后来发送都改成SSL了,端口为465或587( ...
- [转] 一个小时学会Git
一个小时学会Git http://www.cnblogs.com/best/p/7474442.html
- Hadoop 2.2.0安装和配置lzo
转自:http://www.iteblog.com/archives/992 Hadoop经常用于处理大量的数据,如果期间的输出数据.中间数据能压缩存储,对系统的I/O性能会有提升.综合考虑压缩.解压 ...
- Android gradle 配置
gradle https://www.cnblogs.com/qianxudetianxia/p/4948499.html flavor https://blog.csdn.net/user11223 ...
- websocket Tomcat JSP Demo
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...
- Spark JDBC To MySQL
mysql jdbc driver下载地址https://dev.mysql.com/downloads/connector/j/ 在spark中使用jdbc1.在 spark-env.sh 文件中加 ...
- 11.5vue(5)完结
2018-11-5 19:03:50 老师用了五天把vue昨晚,前后端分离!就是 后端给前端接口,前端用vue,建个项目,然后用vuex接受数据!全在前端显示 后端不涉及任何前端页面!前端用vue把页 ...
- [LeetCode] Majority Element II 求大多数之二
Given an integer array of size n, find all elements that appear more than ⌊ n/3 ⌋ times. Note: The a ...
- thymeleaf(二)
项目demo http://pan.baidu.com/s/1wg6PC 学习资料网址 http://www.blogjava.net/bjwulin/archive/2013/02/07/ ...
- 关于 systemctl --user status 报错的问题
关于 systemctl --user enable mpd 报错: Failed to connect to bus: No such file or directory 因为arch脚本中,sys ...