—————— 教室外的风景 ——————

                                    时间限制: 1 Sec  内存限制: 128MB

作者水平有限,为防止神犇喷此贴,在此先贴题意,觉得简单可以不看
题意:有n个同学,每一个同学在时刻a[i]时到教室外面,在时刻b[i]以后回到教室内。在时刻a[i]至时刻b[i]的这段时间中,这个登记的同学一直在教室外面。求最多有多少同学在同一时刻都在教室外面。(n≤10^6,a,b≤10^8)

暂无链接,请谅解(原题出自宁波市第25届小学组)

原题描述

小猪上初中了,初中真好啊,有很多自修课哦。很多同学喜欢在自修课时到教室外面去,说是到老师那问问题(* ̄︶ ̄)。
学校规定,自修课到教室外去的每个同学都必须做好登记,每次进出教室的登记是以一对整数a和b来描述的,表示某一个同学在时刻a时到教室外面,在时刻b以后回到教室内。也就是说在时刻a至时刻b的这段时间中,这个登记的同学一直在教室外面。
校长想知道最多有多少同学在同一时刻都在教室外面,但同学们进进出出教室的记载实在很乱,于是校长请参加信息学兴趣小组的小猪来统计。

输入

第一行只有一个整数n,表示共有n个同学进出教室的记载。
接下来n行,每行二个整数a和b,表示有一个同学在第a时刻出了教室,他在第b时刻后回到教室。

输出

仅有一行,该行只有一个整数,表示最多有多少同学在同一时刻都在教室外面。

样例数据

* 样例输入*

4
2 6
8 9
1 5
1 2

* 样例输出*
3

提示

【样例说明】
第一个同学在时刻2到教室外面,在时刻6后回到教室;
第二个同学在时刻8到教室外面,在时刻9后回到教室;
第三个同学在时刻1到教室外面,在时刻5后回到教室;
第四个同学在时刻1到教室外面,在时刻2后回到教室;
因此在时刻2时,最多有3个同学(第一个、第三个和第四个)在教室外面。

【数据规模】

50%的数据中,1≤n≤1000;每个同学进出教室的时刻a和b满足:1≤a≤b≤1000;

100%的数据中,1≤n≤100000,1≤a≤b≤100000000。



题目分析:对思维的考察,很难说有什么算法

题目要点:对枚举算法的优化
1、O(n*maxb)一重循环枚举时间,第二重循环在n个时间段中找包括这一个时间的人数(50分)
写个伪代码:
for (int i=1;i<=maxb;i++){
int sum=0;
for (int j=1;j<=n;j++)
if (a[j]<=i&&b[j]>=i)
sum++;
if (sum>ans) ans=sum;
}//竟然能过50%! orz

2、O(n+maxb)将n个数tot[a[i]]++,tot[b[i]+1]–
为什么要b+1?因为a到b都在外面,b+1时才回学校
再循环枚举时间,将当前时间人数最大值记录
但是有没有发现tot空间可能会炸?开到一亿哦(tot开小一点,大概60~80分)
写个伪代码:
for (int i=1;i<=n;i++){
tot[a[i]]++; tot[b[i]+1]–;
}
for (int i=1;i<=maxb;i++)
if (tot[i]>ans) ans=tot[i];

3、O(n*2*lg(n*2))记录每一个时间,将出去的时间记为+a,回来的时间记为-(b+1),再快排,同一时间下回来的排前面,因为出去的先加会导致答案变大,回来和出去是同时的

代码部分

#include<cstdio>
#include<algorithm>
using namespace std;
int n,x,y,m,a[200005];
bool cmp(int a,int b){//同一时间下回来的排前面if (abs(a)==abs(b)) return a<b;return abs(a)<abs(b);
}
int main(){scanf("%d",&n);for (int i=1;i<=n;i++){scanf("%d%d",&x,&y);a[++m]=x; a[++m]=-(y+1);//按规则处理出来}sort(a+1,a+m+1,cmp);int sum=0,ans=0;for (int i=1;i<=m;i++){if (a[i]<0) sum--;//回来人数-1else{sum++;//出去人数+1if (sum>ans) ans=sum;//比最大值大就替换}}printf("%d",ans);return 0;
}

教室外的风景(宁波市第25届小学组)相关推荐

  1. 宁波医院计算机试题及答案,(宁波市第25届小学生计算机程序设计竞赛试题及答案.doc...

    (宁波市第25届小学生计算机程序设计竞赛试题及答案 宁波市第25届中小学生程序设计竞赛组初赛试题 1.在宁波市中小学生程序设计比赛复赛(上机编程)时,以下不能使用的编程语言是: (A)Turbo Pa ...

  2. 小学计算机程序竞赛,25届宁波市中小学计算机程序设计竞赛初赛试题

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 宁波市第25届中小学生程序设计竞赛初中组初赛试题 一.选择题(每题1.5分,共30分.每小题只有唯一一个正确答案) 1.在宁波市中小学生程序设计比赛复赛( ...

  3. 杨凌九立机器人农博园观后感_陕西乡村旅游精彩亮相第25届杨凌农高会

    原标题:陕西乡村旅游精彩亮相第25届杨凌农高会 关注 2018年11月5日-9日,第25届杨凌农业高科技产业博览会成功举办,陕西省文化和旅游厅精心组织的第十一届乡村旅游展精彩亮相,为农高会增添了一道亮 ...

  4. 第25届光亚展圆满落幕,佰马科技砥砺再向前

    10月13日,第25届国际照明展览会(光亚展)在广州进出口商品交易会展馆圆满落幕,来自8个国家和地区的2158家展商汇聚一堂,携最具创新力的照明产品及智慧照明.智慧路灯杆等前沿技术同台竞艺.展会上,各 ...

  5. 计算机表演赛qq输入法,25届计算机表演赛命题搜索之中国文学篇.doc

    25届计算机表演赛命题搜索答案之中国文学篇 第1题 端午节是纪念我国战国时期的一名爱国诗人的传统节日,这位诗人的 <________> 是<楚辞>的第一篇,是一部具有浪漫主义的 ...

  6. 深圳第25届华南国际工业自动化、机器视觉及工业应用展览会(免费)

    第25届华南国际工业自动化展览会 华南国际机器视觉及工业应用展览会 邀请函 展会基本信息 : 同期展会: 华南国际工业博览会 第十五届中国(深圳)激光与智能装备.光电技术博览会 数控机床与金属加工展 ...

  7. 1992年 巴塞罗那 第25届奥运会

    第25届奥运会于1992年7月25日-8月9日在西班牙的巴塞罗那举行. 参加本届奥运会的共有170个国家和地区的9364名男女运会员,进行了25个大项257个单项的比赛.获金牌最多的国家依次为: 独联 ...

  8. 24、25届如何准备实习?

    24.25届如何准备实习? 正如标题所言,在这个寒冬我们24.25届的同学该如何准备实习需要的一些东西呢? 很巧的是本人也是24届的菜鸡一枚嘿嘿,不能说自己是超级大牛的那种,但是本人之前找实习的经历可 ...

  9. 第25届京港会开幕 元宇宙产业委与香港国际元宇宙协会启动全面合作

    央链直播讯,以"融入新格局 合作谱新篇"为主题的第25届北京·香港经济合作研讨洽谈会(简称"京港洽谈会")14日在北京和香港开幕.据悉,自1997年香港回归以来 ...

最新文章

  1. JavaScript编程:文档对象模型DOM
  2. 14. 函数返回值为引用?
  3. Jquery的一个特效 仿照flash放大图片
  4. objective-c 类目(Category)和延展(Extension)
  5. git如何merge github forked repository里的代码更新?
  6. Java Servlet API中文说明文档
  7. python鸭制作类代码_详细解释ducktyping鸭子类型程序设计与Python的实现
  8. Mysql-5.5+Heartbeat-3.0.5+DRBD
  9. 技术系统优化还可以这样做?
  10. mysql 7.x 集群_MySQL cluster 7.X集群部署配置
  11. Shelld5的使用
  12. 2019 NIVIDIA ASIC/PD笔试题
  13. 一键获取推文封面及标题摘要
  14. 福师大计算机考研分数,福建师范大学2019年考研复试分数线已公布
  15. 制作hp服务器u盘,制作HP smartstart启动U盘
  16. [基础]tfcenter的安装和启动
  17. C++编译动态库第三方库及使用
  18. oracle 去摸_Suphx论文翻译(一)
  19. 技术内幕 | StarRocks Community Champion、阿里云技术专家解读 Optimizer 实现
  20. ipv4的地址位数_Ipv4地址的位数为多少位二进制数字

热门文章

  1. 微信图片转换成文字的方法
  2. 五分钟法则(five minute rules)
  3. EXCEL公式引用得是空的单元格,但是却不返回空““,而是返回0是怎么回事? 怎么处理呢?
  4. 【CAD】Java使用第三方类库解析CAD文件,详细接口说明
  5. 3d打印价格怎么算的
  6. 用FDM打印会遇到的3D打印常见问题详解
  7. oracle数据库管理员账户锁定,Oracle数据库账号被锁定解决方法
  8. oracle登陆不了账号被锁定,oracle数据库用户被锁定该怎么解决?Oracle账户被锁定解决方法...
  9. 李政軒Cheng-Hsuan Li的关于机器学习一些算法的中文视频教程
  10. 一些牛人榜样,多看看他们写的东西(后续整理牛人的blog等)