nyoj138 找球号(二)_离散化
找球号(二)
- 描述
- 在某一国度里流行着一种游戏。游戏规则为:现有一堆球中,每个球上都有一个整数编号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
- 2
- 样例输出
-
- YES
- YES
- NO
- NO
- YES
- 来源
- [苗栋栋]原创
- 上传者
- 苗栋栋
- 解题思路:这个题有n(<10000)组命令,每个命令最多一百个数,所有至少需要1000000个数需要存储,所以把需要存储的数字%1000000后作为存储位置的下标。
- 数据结构采用链地址法处理冲突。
- 代码:
-
- #include <iostream>
- #include <cstdio>
- #include <cstring>
- using namespace std;
- typedef struct node{
- int a;
- node *next;
- };
- node *ball[];
- void storage(int temp){
- int c=temp%;
- node *p;
- p=ball[c]->next;
- //if(p!=NULL){
- // p=new node;
- // p->a=temp;
- // p->next=NULL;
- //}else{
- p=new node;
- p->a=temp;
- p->next=ball[c]->next;
- ball[c]->next=p;
- //}
- }
- int judge(int temp){
- int c=temp%;
- node *p;
- p=ball[c]->next;
- while(p){
- if(p->a==temp){
- return ;
- }
- p=p->next;
- }
- return ;
- }
- int main()
- {
- int n;
- for(int i=;i<;i++){
- ball[i]=new node;
- ball[i]->next=NULL;
- }
- scanf("%d",&n);
- for(int j=;j<n;j++){
- char instru[];
- int m;
- int temp;
- scanf("%s",instru);
- if(instru[]=='A'){
- scanf("%d",&m);
- for(int i=;i<m;i++){
- scanf("%d",&temp);
- storage(temp);
- }
- }else{
- scanf("%d",&m);
- for(int i=;i<m;i++){
- scanf("%d",&temp);
- int yorn=judge(temp);
- if(yorn==){
- printf("YES\n");
- }else{
- printf("NO\n");
- }
- }
- }
- }
- return ;
- }
- #include <iostream>
nyoj138 找球号(二)_离散化的更多相关文章
- NYOJ 138 找球号(二) bitset 二进制的妙用
找球号(二) 时间限制:1000 ms | 内存限制:65535 KB 难度:5 描述 描述 在某一国度里流行着一种游戏.游戏规则为:现有一堆球中,每个球上都有一个整数编号i(0<=i< ...
- nyist oj 138 找球号(二)(hash 表+位运算)
找球号(二) 时间限制:1000 ms | 内存限制:65535 KB 难度:5 描写叙述 在某一国度里流行着一种游戏.游戏规则为:现有一堆球中.每一个球上都有一个整数编号i(0<=i< ...
- nyoj 138 找球号(二)(哈希)
题目:nyoj——138 /*** 哈希求解...采用链表保存 插入时,可以去除重复 查找 找到该组,然后在改组的查找 当这个组不存在时或是没有找到时是 NO 其他是YES 1e6+1 时间最短 */ ...
- ACM 找球号(一)
找球号(一) 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 在某一国度里流行着一种游戏.游戏规则为:在一堆球中,每个球上都有一个整数编号i(0<=i<= ...
- nyoj 86 找球号(一)
点击打开链接 找球号(一) 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 在某一国度里流行着一种游戏.游戏规则为:在一堆球中,每个球上都有一个整数编号i(0<=i ...
- nyoj 86 找球号(一)
找球号(一) 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 在某一国度里流行着一种游戏.游戏规则为:在一堆球中,每个球上都有一个整数编号i(0& ...
- NYOJ528 找球号(三)位运算
找球号(三) 时间限制:2000 ms | 内存限制:3000 KB 难度:2 描述 xiaod现在正在某个球场负责网球的管理工作.为了方便管理,他把每个球都编了号,且每个编号的球的总个数都是 ...
- 找球号(一)(hask表)
找球号(一) 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 在某一国度里流行着一种游戏.游戏规则为:在一堆球中,每个球上都有一个整数编号i(0<=i<= ...
- 找球号(三)南阳acm528(异或' ^ ')
找球号(三) 时间限制:2000 ms | 内存限制:10000 KB 难度:2 描述 xiaod现在正在某个球场负责网球的管理工作.为了方便管理,他把每个球都编了号,且每个编号的球的总个数都 ...
随机推荐
- hdu4976 A simple greedy problem. (贪心+DP)
http://acm.hdu.edu.cn/showproblem.php?pid=4976 2014 Multi-University Training Contest 10 1006 A simp ...
- 10条PHP编程习惯助你找工作
过去的几周对我来说是一段相当复杂的经历.我们公司进行了大裁员,我是其中之一,但却体验到了其中的乐 趣.我从来没有被开除过,所以很难不去想得太多.我开始浏览招聘板块,一个全职PHP程序员的职位很吸引人, ...
- PHP利用Curl实现多线程抓取网页和下载文件
PHP 利用 Curl 可以完成各种传送文件操作,比如模拟浏览器发送GET,POST请求等等,然而因为php语言本身不支持多线程,所以开发爬虫程序效率并不高,一般采集 数据可以利用 PHPquery ...
- POJ 3744 Scout YYF I
分段的概率DP+矩阵快速幂 Scout YYF I Time Limit: 1000MS Memory Limit: 65536K Total Sub ...
- STM32 之 NVIC(中断向量、优先级) 简述
一.背景 需要使用STM32的CAN进行通信,经过一系列配置后,已可正常收发,还剩下一个CAN通信的错误处理.可错 误中断使能寄存器已经配置使能了,出错后就是无法进入"CAN1_SCE_IR ...
- Back to Edit Distance(LCS + LIS)
Given 2 permutations of integers from 1 to N, you need to find the minimum number of operations nece ...
- Bootstarp: sub_menu 自定义改变nav样式
<style> .nav > li > a { position: relative; display: block; padding: 5px 5px; } </sty ...
- android GestureDetector 手势基础
1. 当用户触摸屏幕的时候,会产生许多手势,例如down,up,scroll,filing等等,我们知道View类有个View.OnTouchListener内部接口,通过重写他的onTouch(Vi ...
- Unity手游之路<七>角色控制器
Unity手游之路<七>角色控制器 我们要控制角色的移动,可以全部细节都由自己来实现.控制角色模型的移动,同时移动摄影机,改变视角.当然Unity也提供了一些组件,可以让我们做更少的工作, ...
- jbuilder的set!方法重构接口
https://github.com/rails/jbuilder 的set!方法重构接口, 因为grape没法使用 jBuilder 的缓存,所以直接用 Rails 写 API (1)多个图片 i ...