题目链接:PAT【甲级】1145
题目简述:就是先给一串数字,分别是表长,要插入表中的数据规模,要查询数据的规模。如果表长不是素数的话,则还要求改变为大于所给数字最小的素数。并且使用(正数)平方探测法进行冲突处理。

#include<bits/stdc++.h>
using namespace std;vector<int> table;int getPrime(int a){while(a){int i = 2;for (; i * i <= a; i++)if(a % i == 0)break;if(a % i != 0)return a;a++;}return a;
}int main(){int S, N, M, t;cin >> S >> N >> M;S = getPrime(S);table.resize(S, 0);for (int i = 0; i < N;i++){cin >> t;int j = 0;for (; j <= S; j++){//注意这个条件,S是个极限值了,之后就是再循环了。if(table[(t + j * j) % S] == 0){table[(t + j * j) % S] = t;break;}   }if(j > S) printf("%d cannot be inserted.\n", t);}int times = 0;for (int i = 0; i < M;i++){cin >> t;for (int j = 0; j <= S;j++){//注意这个条件,S是个极限值了,之后就是再循环了。times++;if(table[(t + j * j) % S] == t || table[(t + j * j) % S] == 0){//如果相等或者访问到空处(其实也就是这个数字不在表中)break;}}}printf("%.1f", 1.0 * times / M);return 0;
}

要注意的就是我代码中注释的那两个点了吧。这样写的话,并不需要额外的标记数组什么的,而且这也是符合散列表查询条件(不会的就去记忆一下),最坑的点是如果查询数字不在表中的情况,考虑到这一点,测试点就都能过了。

PAT【甲级】1145相关推荐

  1. PAT甲级1145 Hashing - Average Search Time:[C++题解]哈希表、哈希表开放寻址法、二次探测法、求平均查找次数

    文章目录 题目分析 题目链接 题目分析 来源:acwing 本题的分析见另一道PAT的题目:PAT甲级1078 Hashing:[C++题解]哈希表.哈希表开放寻址法.二次探测法链接的题目就是让建立h ...

  2. PAT甲级考试题库题目分类

    PAT甲级题目分类 水题 1136.1139.1143.1148 字符串处理 1001.1005.1035.1061.1073.1077.1082. 1108.1140.1152 模拟 1002.10 ...

  3. 2020年9月PAT甲级满分必备刷题技巧

    2020年7月的考试结束了,除了本次的考题更新,短期内不会更新. [7月题目的特点:首次线上考试,没出链表.树相关的模板题,第2到4题背景新颖,大大降低了抄袭历年代码的可能性,可以看作是线上考试的新趋 ...

  4. 2019年12月PAT甲级满分备考经验

    PAT甲级满分备考经验 答题过程 备考经验 答题过程   总得来说,我觉得我幸运,碰上了一次PAT甲级题目相当简单(1085中有190人满分),最终提前一小时交卷,实时排名为35.   我按照1 2 ...

  5. PAT甲级题目解析和知识点分类整理

    转载请注明出处 个人博客:https://maxusun.github.io/ 今天整理电脑,发现了去年为了考研浙大计算机整理的PAT资料.现在考研已经尘埃落定.想到当时盲目刷题浪费了好多时间,在这里 ...

  6. PAT甲级(Advanced Level)真题--1046 Sharing

    PAT甲级(Advanced Level)真题–1046 Sharing 通过:648 提交:1138 通过率:56% To store English words, one method is to ...

  7. PAT甲级(Advanced Level)真题-- 1062 To Buy or Not to Buy

    PAT甲级(Advanced Level)真题-- 1062 To Buy or Not to Buy 通过:643 提交:1220 通过率:52% Eva would like to make a ...

  8. PAT甲级真题 1018 A+B in Hogwarts--python解法

    PAT甲级真题 1018 A+B in Hogwarts 提交:2638 通过:1559 通过率:59% If you are a fan of Harry Potter, you would kno ...

  9. Pat甲级 1002 A+B for Polynomials

    Pat甲级 1002 A+B for Polynomials 思路 代码 题目网址 https://pintia.cn/problem-sets/994805342720868352/problems ...

  10. Pat甲级 1001 A+B Format

    Pat甲级 1001 A+B Format 思路 代码 题目网址 https://pintia.cn/problem-sets/994805342720868352/problems/99480552 ...

最新文章

  1. 机器翻译评测——BLEU算法详解 (新增 在线计算BLEU分值)评估
  2. 【java】兴唐第二十四节课
  3. 老李推荐:第3章3节《MonkeyRunner源码剖析》脚本编写示例: MonkeyImage API使用示例 1...
  4. ASP.NET MVC和jQuery DataTable整合
  5. 计算机应用基础 聂敏,1. 在Excel中,公式“COUNT(C2:E3)”的含义是:( )。...
  6. Java架构师成长之道之Java数据计算
  7. arcgis api for javascript中使用proxy.jsp
  8. mysql5.7.17完全卸载_MySQL5.7完全卸载步骤详解
  9. C++新特性探究(六):auto
  10. POJ 3988 Selecting courses
  11. HALCON标定板简介
  12. UVA10317- Equating Equations(回溯+剪枝)
  13. oracle怎么启动oem,Oracle 启动OEM
  14. winform使用字体图标
  15. 商品期货市场常见的量化交易策略
  16. 危化品速查APP--Android Project
  17. android弱网模拟路由器,Mac 下使用命令行模拟弱网环境
  18. MagicLicense破解记录
  19. datagrid系列之-基本添加行,删除行,插入行,自定义方法
  20. 电压电流采集模块,温湿度采集,称重模块,变送器,adc模数转换模块

热门文章

  1. js 给日期加一天或者减一天
  2. Veeam BR 13 磁带库备份与恢复
  3. 武汉理工大计算机学院研究生毕业,武汉理工大学和南京理工大学计算机研究生比较一下...
  4. windows启动nacos startup.cmd报错 失败
  5. python同时输出两个print_Python3基础 print与,结合 一次输出多个数据
  6. windows 不能在本地计算机启动apache2.4。有关更多信息,查阅系统事件日志。如果这是非Microsoft服务,...
  7. 从新手小白入门MFC框架-黄强-专题视频课程
  8. 小型断路器A、B、C、D型脱扣特性的区别
  9. 区区几行代码你可以完成逆袭,从此成为抽象派画家,有图有真相
  10. WebRTC ULPFEC