题目:nyoj——138

  1. /***
  2. 哈希求解。。。采用链表保存
  3. 插入时,可以去除重复
  4. 查找 找到该组,然后在改组的查找
  5. 当这个组不存在时或是没有找到时是 NO 其他是YES
  6. 1e6+1 时间最短
  7. */
  8. #include <stdio.h>
  9. #include <string.h>
  10. #include <stdlib.h>
  11.  
  12. #define N 1000001;
  13.  
  14. typedef struct numb
  15. {
  16. int a;
  17. numb *next;
  18. }numb;
  19.  
  20. numb *head[1000005];
  21.  
  22. void insert(int x)
  23. {
  24. int ans = x % N;
  25. if(head[ans] == NULL)
  26. {
  27. head[ans] = (numb *) malloc(sizeof(numb));
  28. head[ans]->next = NULL;
  29. head[ans]->a = -1;
  30. }
  31.  
  32. numb *p;
  33. p = head[ans];
  34. int flag = 1;
  35. while(p->next != NULL)
  36. {
  37. if(p->next->a == x)
  38. {
  39. flag = 0;
  40. break;
  41. }
  42. p = p ->next;
  43. }
  44. numb *q;
  45. if(flag)
  46. {
  47. q = (numb *) malloc (sizeof(numb));
  48. q -> a = x;
  49. q->next = NULL;
  50. p->next = q;
  51. p = q;
  52. }
  53. }
  54.  
  55. int find(int x)
  56. {
  57. int ans = x % N;
  58. numb *p;
  59. if(head[ans] == NULL)
  60. return 0;
  61. else
  62. {
  63. p = head[ans]->next;
  64. while(p != NULL)
  65. {
  66. if(p->a == x)
  67. return 1;
  68. p = p->next;
  69. }
  70. return 0;
  71. }
  72. }
  73. int main()
  74. {
  75. int T;
  76. scanf("%d",&T);
  77. char ch[12];
  78. int x,t;
  79. while(T--)
  80. {
  81. scanf("%s",ch);
  82. if(ch[0] == 'A')
  83. {
  84. scanf("%d",&t);
  85. while(t--)
  86. {
  87. scanf("%d",&x);
  88. insert(x);
  89. }
  90. }
  91. else
  92. {
  93. scanf("%d",&t);
  94. while(t--)
  95. {
  96. scanf("%d",&x);
  97. if(find(x) == 1)
  98. printf("YES\n");
  99. else
  100. printf("NO\n");
  101. }
  102. }
  103. }
  104. return 0;
  105. }

nyoj 138 找球号(二)(哈希)的更多相关文章

  1. NYOJ 138 找球号(二) bitset 二进制的妙用

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

  2. nyist oj 138 找球号(二)(hash 表+位运算)

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

  3. 简答哈希实现 (nyoj 138 找球号2)

    例题链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=138 代码目的:复习哈希用 代码实现: #include "stdio.h&qu ...

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

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

  5. nyoj138 找球号(二)_离散化

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

  6. nyoj 86 找球号(一)

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

  7. nyoj 86 找球号(一)

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

  8. nyoj 86 找球号(一)(set,map)

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

  9. nyoj 528 找球号(三)(哈希)

    点解:题目链接 两种办法,1是使用容器set做 2必须知道这个结论,  突然感觉数论很强大啊,,,, /*//set容器处理 出一次加进去,再出现删掉,这个最后留下的就是那个只出现基数次的 #incl ...

随机推荐

  1. CGAffineTransformMake(a,b,c,d,tx,ty) 矩阵运算的原理 (转载)

    简记: CGAffineTransformMake(a,b,c,d,tx,ty) ad缩放bc旋转tx,ty位移,基础的2D矩阵 公式 x=ax+cy+tx     y=bx+dy+ty 1.矩阵的基 ...

  2. js——BOM

    BOM:Browser Object Model  浏览器对象模型 open(页面的地址url,打开的方式) :方法  打开一个新的窗口(页面) 如果url为空,折磨人打开一个空白页面 如果打开方式为 ...

  3. lightoj 1079 Just another Robbery

    题意:给出银行的个数和被抓概率上限.在给出每个银行的钱和抢劫这个银行被抓的概率.求不超过被抓概率上线能抢劫到最多的钱. dp题,转移方程 dp[i][j] = min(dp[i-1][j] , dp[ ...

  4. HTML meta refresh 刷新与跳转(重定向)页面

    <meta http-equiv="refresh" content="5; url=http://www.cnblogs.com/" /> 可用于 ...

  5. javascript 常用函数

    //获取元素的样式值. function getStyle(elem,name){ if(elem.style[name]){ return elem.style[name]; }else if(el ...

  6. Google Chrome浏览器的使用方法

    Google Chrome浏览器 [原文地址:http://www.cnblogs.com/QLeelulu/archive/2011/08/28/2156402.html ] 在Google Chr ...

  7. 【转】MUD教程--巫师入门教程1

    <新巫师入门手册> 第一章:观念篇■ 内容提要:什么是巫师?怎样做一个巫师?如何做好一个巫师? 第二章:上手篇■ 内容提要:最简单的房间怎么写?NPC又怎么写?先看懂一些常用的参数? 第三 ...

  8. Get请求出现乱码的解决方案

    Get请求出现乱码,模拟一般出现的场景.场景一:超链接<a href=”url?name=张三&age=18”>场景二:window.opon(“url?name=张三&a ...

  9. cad2007 钢筋符号显示为问号

    如题:cad2007 钢筋符号显示为问号 解决办法:下载Tssdeng,解压(Tssdeng.rar) 把下载到的cad大字体Tssdeng.shx文件放到autoCAD2007安装目录C:\Prog ...

  10. vs2013 MVC 无法确定要使用哪一版本的 ASP.NET Web Pages错误

    在web.config文件<configuration>节点下添加 <appSettings>     <add key="webPages:Version&q ...