找球号(二)

时间限制:1000 ms  |  内存限制:65535 KB
难度:5
描述
在某一国度里流行着一种游戏。游戏规则为:现有一堆球中,每个球上都有一个整数编号i(0<=i<=100000000),编号可重复,还有一个空箱子,现在有两种动作:一种是"ADD",表示向空箱子里放m(0<m<=100)个球,另一种是"QUERY”,表示说出M(0<M<=100)个随机整数ki(0<=ki<=100000100),分别判断编号为ki 的球是否在这个空箱子中(存在为"YES",否则为"NO"),先答出者为胜。现在有一个人想玩玩这个游戏,但他又很懒。他希望你能帮助他取得胜利。

输入
第一行有一个整数n(0<n<=10000);
随后有n行;
每行可能出现如下的任意一种形式:
第一种:
一个字符串"ADD",接着是一个整数m,随后有m个i;
第二种:
一个字符串"QUERY”,接着是一个整数M,随后有M个ki;
输出
输出每次询问的结果"YES"或"NO".
样例输入
2
ADD 5 34 343 54 6 2
QUERY 4 34 54 33 66
样例输出
YES
YES
NO
NO

一开始用STL里面的set,超时了。后来才听说要用哈希表。

哈希参考资料:http://blog.csdn.net/v_JULY_v/article/details/6256463

#include<cstdio>
#include<cstring>
const int N = 1e6 + 10;
#define mod 200003
int Head[N], Next[N], Hash[N];
int top;void add(int num)
{int key = num % mod; Hash[top] = num; Next[top] = Head[key]; Head[key] = top; top++;
}int main()
{int n, m, a;char op[10];while(~scanf("%d",&n)) {memset(Head, -1, sizeof(Head));top = 0;while(n--) {scanf("%s%d", op, &m);if(op[0] == 'A') {for(int i = 0; i < m; i++) {scanf("%d",&a);add(a);}}else {while(m--) {int flag = 0;scanf("%d",&a);for(int i = Head[a%mod]; i != -1; i = Next[i]) {if(Hash[i] == a) {flag = 1;break;}}if(flag) printf("YES\n");else printf("NO\n");}}}}return 0;
}

NYOJ 138 找球号(二)哈希表相关推荐

  1. NYOJ 138 找球号(二) (哈希)

    题目链接 描述 在某一国度里流行着一种游戏.游戏规则为:现有一堆球中,每个球上都有一个整数编号i(0<=i<=100000000),编号可重复,还有一个空箱子,现在有两种动作:一种是&qu ...

  2. nyoj 86 找球号(一)

    找球号(一) 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描写叙述 在某一国度里流行着一种游戏.游戏规则为:在一堆球中,每一个球上都有一个整数编号i(0<=i< ...

  3. NOJ --138 找球号(二)

    最基础的哈希表用法,先看所要存的个数,一般都是10N+10的内存,这样相当于十个位置里面有一个,空间是足够的.之前一直一直都是超时,就是因为内存开小的话就会出现死循环,因为存不了那么多个数 #incl ...

  4. NYOJ 题目528 找球号(三)

    找球号(三) 时间限制:2000 ms  |  内存限制:3000 KB 难度:2 描述 xiaod现在正在某个球场负责网球的管理工作.为了方便管理,他把每个球都编了号,且每个编号的球的总个数都是偶数 ...

  5. NYOJ-86 找球号(一)

    找球号(一) 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 在某一国度里流行着一种游戏.游戏规则为:在一堆球中,每个球上都有一个整数编号i(0<=i<=10 ...

  6. 1299: 【二分查找】找球号

    题目描述 在某一国度里流行着一种游戏.游戏规则为:在一堆球中,每个球上都有一个整数编号i(0<=i<=100000000),编号可重复,现在说 一个随机整数k(0<=k<=10 ...

  7. nyoj528 找球号(三) set容器的应用

    set容器的用法  具体可以看我的另外一篇stl的应用点击打开链接 #include <stdio.h> #include <set> using namespace std; ...

  8. nyoj-138-找球号(二)----hash算法之除留余数法+vector

    找球号(二) 时间限制:1000 ms  |  内存限制:65535 KB 难度:5 描述 在某一国度里流行着一种游戏.游戏规则为:现有一堆球中,每个球上都有一个整数编号i(0<=i<=1 ...

  9. nyoj--86--找球号(一)(hashset二分)

    找球号(一) 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 在某一国度里流行着一种游戏.游戏规则为:在一堆球中,每个球上都有一个整数编号i(0<=i<=10 ...

最新文章

  1. 清理多个varnish服务器缓存的脚本
  2. java开发环境的建立过程_Java开发环境的搭建及第一个Java程序的创建
  3. asp.net 播放flash
  4. 颠覆性Windows平台资源管理器,急速管理文件----闪电人生
  5. 4 Oracle 操作表中数据
  6. Mapreduce设置多路径输入输出
  7. 计算机网络结构示意图,计算机网络原理-计算机网络体系结构.pdf
  8. 灰度共生矩阵及其数字特征_数字系统及其表示
  9. ViewDragHelper
  10. 萌新程序员找工作该怎么写简历?
  11. LeetCode 200. Number of Islands
  12. 简介几种负载均衡原理
  13. linux下activityMQ安装
  14. ORACLE 错误 904
  15. 苹果WatchKit轻松入门
  16. 开源项目推荐:NS游戏模拟器Ryujinx
  17. Android 解决TextView排版参差不齐的问题
  18. Linux启动时间优化-内核和用户空间启动优化实践
  19. fluke dtx-1800测试精度有必要进行原厂校准吗?
  20. 行业短信 运营思路_游戏行业短信平台解决方案

热门文章

  1. 认识Linux 、安装虚拟机 、 安装centos7
  2. Struts2框架学习之七:避免表单重复提交
  3. Introduce Intelligence to Your Security Operations
  4. Android 超高仿微信图片选择器 图片该这么加载
  5. Business model innovation Consulting
  6. software on macbook pro
  7. 如何清理镜子上的水渍:亲测有效
  8. 【l转】VS2015下解决:无法解析的外部符号 __imp___vsnprintf 及__iob_func
  9. Implementing Synchronization Operations
  10. WCF 客户端代理生成 通过SvcUtil.exe