1223: 上海红茶馆 ~ Chinese Tea

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

题目描述

你现在正在经营一家红茶馆, 而且这里有各种各样的红茶, 你现在把这些红茶分成了N个等级, 每个等级的茶有一个品质Q。

现在每一个来的客人都会要求一个品质为S的茶, 你需要迅速的回答他是否有。

输入

第一行两个数N,M。
下面一行N个数, 分别表示每个等级的茶的品质Q。
下面一行M个数, 分别表示询问的品质S。

输出

输出一行M个字符, 表示回答是否。 Y表示有, N表示没有。

样例输入

5 5
1 3 4 6 8
1 2 3 4 5

样例输出

YNYYN

提示

30%:N,M<5000

100%:N,M<200000

【题解】

本题有多种解法:

首先我想到自己开一个bool数组来哈希一下,发现哈希的不够优秀,过了85%。

然后我就想到了排序+二分,这样就可以过了,1800ms

 1 #include<stdio.h>
 2 #include<algorithm>
 3 using namespace std;
 4 int n,m,a[200001];
 5 inline int getint() {
 6     int x=0,f=1; char c;
 7     c=getchar();
 8     while(c<'0'||c>'9') {if (c=='-') f=-1; c=getchar();}
 9     while(c>='0'&&c<='9') {x=(x<<3)+(x<<1)+c-'0';c=getchar();}
10     return x*f;
11 }
12 int main() {
13     n=getint();m=getint();
14     for (int i=1;i<=n;++i)a[i]=getint();
15     sort(a+1,a+n+1);
16     bool f=0;
17     for (int i=1;i<=m;++i,f=0) {
18         int x,l=1,r=n; x=getint();
19         while(l<=r) { //cout<<l<<' '<<r<<endl;
20             if(a[l]==x||a[r]==x) {f=1; break;}
21             int mid=(l+r)>>1;
22             if(a[mid]==x) {f=1;break;}
23             if(x<a[mid]) r=mid-1;
24             else if(x>a[mid]) l=mid+1;
25         }
26         if(f) printf("Y");
27         else printf("N");
28     }
29     printf("\n");
30     return 0;
31 }

View Code

然后我就发现了,可以用STL的map!就又写了一个简单多的程序,AC了,4000ms

 1 #include<stdio.h>
 2 #include<map>
 3 #include<algorithm>
 4 using namespace std;
 5 int n,m;
 6 map<int,bool> a;
 7 inline int getint() {
 8     int x=0,f=1; char c;
 9     c=getchar();
10     while(c<'0'||c>'9') {if (c=='-') f=-1; c=getchar();}
11     while(c>='0'&&c<='9') {x=(x<<3)+(x<<1)+c-'0';c=getchar();}
12     return x*f;
13 }
14 int main() {
15     n=getint();m=getint();
16     for (int i=1;i<=n;++i) {
17         int x;x=getint();
18         a[x]=1;
19     }
20
21     bool f=0;
22     for (int i=1;i<=m;++i,f=0) {
23         int x,l=1,r=n; x=getint();
24         if(a[x]==1) printf("Y");
25         else printf("N");
26     }
27     printf("\n");
28     return 0;
29 }

View Code

还是二分快啊TAT我的哈希还是炸啊QAQQQQQ

转载于:https://www.cnblogs.com/TonyNeal/p/fzszoj1223.html

[FZSZOJ 1223] 上海红茶馆相关推荐

  1. 红茶馆:承诺满天下,守信行万里

    红茶馆:承诺满天下,守信行万里 许斌 很多看过<三国演义>的人都不太喜欢曹操,觉得他虽然卓有智谋,也能容人,但狡诈无比.但实际上,曹操在守信方面却值得赞美,堪为天下人的榜样. 书中记载,关 ...

  2. 20181027解题报告

    模拟赛越打越少,有点伤感,但还是记录下这最后几场. 梦想总是遥不可及,是不是应该放弃. T1:上海红茶馆 ChineseTea.cpp 问题描述: 你现在正在经营一家红茶馆, 而且这里有各种各样的红茶 ...

  3. 1年1张,100年(上海)

    1900年,上海海关. 上海是中国的经济.金融.贸易.航运中心,也是世界上规模和面积最大的都会区之一. 上海拥有深厚的近代城市文化底蕴,1843年后上海成为对外开放的商埠并迅速发展成为远东第一大城市. ...

  4. 吃遍深圳,FB到底 [zt]

    第一类:京帮-北京菜 1.北京菜馆 福田区振兴路上步工业区内 2.正阳楼 福田区百花二路38号 83244569 3.京颐和居 南山 *** 路 *** 广场 第二类:日本料理 1.北海日本料理 深圳 ...

  5. sudo sorry you must have a tty to run sudo

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 原贴:h ...

  6. dnf鹰犬机器人补丁_DNF补丁大全DNF东方Projece界面补丁下载

    昨天分享了一下我自己用的东方召唤物补丁,发现这吧里玩DNF还不少,现在分享我自己用的其它补丁. 将DNF东方化进行到底~~ 菜单里有图哦.自己去看 东方音乐盛宴!!! DNF背景音乐改东方BGM. 直 ...

  7. 香港流行乐黄金二十年——经典歌手(音乐人)全面回顾(三)

    接二 (转)[@more@] 21.卢冠廷--一个怪人,首先是他的唱腔特别,而他的作品,虽总体而言看不出统一的风格,但都各有其才华毕露之处,会令人留下深刻印象. <天籁>:他的最经典作品之 ...

  8. 2021-2027年中国涂装行业市场需求预测与投资战略规划分析报告

    [报告类型]产业研究 [报告价格]4500起 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了中国涂装行业市场行业相关概述.中国涂装行业市 ...

  9. 2022-2028年中国汽车橡胶密封件行业市场深度分析及发展趋势分析报告

    [报告类型]产业研究 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了汽车橡胶密封件行业相关概述.中国汽车橡胶密封件行业运行环境.分析了中 ...

最新文章

  1. 分布式系统 缓存穿透与失效时的雪崩效应
  2. 用户空间和内核空间通讯Netlink
  3. Android studio 关于SQlite数据库导出,创建数据库、表以及如何查看操作
  4. 适合pythonpandas的软件_适合 Python 入门的 8 款强大工具!
  5. Unity图片优化神器 - dither算法究极进化方案
  6. j pocket_Wallabag:Pocket的开源替代品
  7. 责任心来自爱而不是债
  8. 当你写爬虫抓不到APP请求包的时候该怎么办?【高级篇-混淆导致通用Hook工具失效】...
  9. oracle exp空数据表,Oracle11g中Exp空表的问题
  10. 廖雪峰Java10加密与安全-3摘要算法-3SHA-1算法
  11. 从零开始搭二维激光SLAM --- Karto的后端优化与回环检测的实现解读
  12. 无线渗透(中)--WPS破解
  13. Centos7 搭建多用户SFTP服务,并开启日志记录
  14. 使用Zbar进行二维码识别 中文字符解码 RawBytes
  15. nginx代理百度地图,实现内网展示百度地图
  16. 【网络通讯开发系列】如何使用C语言编程通过UDP通讯解析域名
  17. IT职场人生系列之二十四:程序员如何增加收入
  18. html 字体图标不显示不出来了,h5页面字体图标显示不正常
  19. 【计算机网络-1】为什么学习计算机网络
  20. varbinary转换成字符串

热门文章

  1. Asterisk PBX
  2. 计算机普通话水平测试有用吗,计算机辅助普通话水平测试的优点与问题
  3. 生命起源过程“消失环节”现形
  4. 专利法上的抽象思想与具体技术 ——计算机程序算法的客体属性分析
  5. 前端开发:Vue报错Computed property “show“ was assigned to but it has no setter的解决方法
  6. 微信小程序设置横竖屏
  7. java 微博sdk_Java基于新浪微博SDK实现发微博的功能
  8. android桌面布局保存在哪里,android-DatePickerDialog保存屏幕上的布局旋转
  9. 学计算机可以考小学数学的教师编吗,入编说丨小学数学考编经验
  10. 服务器SSL证书和域名证书有什么区别?