PAT【甲级】1145
题目链接: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相关推荐
- PAT甲级1145 Hashing - Average Search Time:[C++题解]哈希表、哈希表开放寻址法、二次探测法、求平均查找次数
文章目录 题目分析 题目链接 题目分析 来源:acwing 本题的分析见另一道PAT的题目:PAT甲级1078 Hashing:[C++题解]哈希表.哈希表开放寻址法.二次探测法链接的题目就是让建立h ...
- PAT甲级考试题库题目分类
PAT甲级题目分类 水题 1136.1139.1143.1148 字符串处理 1001.1005.1035.1061.1073.1077.1082. 1108.1140.1152 模拟 1002.10 ...
- 2020年9月PAT甲级满分必备刷题技巧
2020年7月的考试结束了,除了本次的考题更新,短期内不会更新. [7月题目的特点:首次线上考试,没出链表.树相关的模板题,第2到4题背景新颖,大大降低了抄袭历年代码的可能性,可以看作是线上考试的新趋 ...
- 2019年12月PAT甲级满分备考经验
PAT甲级满分备考经验 答题过程 备考经验 答题过程 总得来说,我觉得我幸运,碰上了一次PAT甲级题目相当简单(1085中有190人满分),最终提前一小时交卷,实时排名为35. 我按照1 2 ...
- PAT甲级题目解析和知识点分类整理
转载请注明出处 个人博客:https://maxusun.github.io/ 今天整理电脑,发现了去年为了考研浙大计算机整理的PAT资料.现在考研已经尘埃落定.想到当时盲目刷题浪费了好多时间,在这里 ...
- PAT甲级(Advanced Level)真题--1046 Sharing
PAT甲级(Advanced Level)真题–1046 Sharing 通过:648 提交:1138 通过率:56% To store English words, one method is to ...
- 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 ...
- 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 ...
- Pat甲级 1002 A+B for Polynomials
Pat甲级 1002 A+B for Polynomials 思路 代码 题目网址 https://pintia.cn/problem-sets/994805342720868352/problems ...
- Pat甲级 1001 A+B Format
Pat甲级 1001 A+B Format 思路 代码 题目网址 https://pintia.cn/problem-sets/994805342720868352/problems/99480552 ...
最新文章
- 机器翻译评测——BLEU算法详解 (新增 在线计算BLEU分值)评估
- 【java】兴唐第二十四节课
- 老李推荐:第3章3节《MonkeyRunner源码剖析》脚本编写示例: MonkeyImage API使用示例 1...
- ASP.NET MVC和jQuery DataTable整合
- 计算机应用基础 聂敏,1. 在Excel中,公式“COUNT(C2:E3)”的含义是:( )。...
- Java架构师成长之道之Java数据计算
- arcgis api for javascript中使用proxy.jsp
- mysql5.7.17完全卸载_MySQL5.7完全卸载步骤详解
- C++新特性探究(六):auto
- POJ 3988 Selecting courses
- HALCON标定板简介
- UVA10317- Equating Equations(回溯+剪枝)
- oracle怎么启动oem,Oracle 启动OEM
- winform使用字体图标
- 商品期货市场常见的量化交易策略
- 危化品速查APP--Android Project
- android弱网模拟路由器,Mac 下使用命令行模拟弱网环境
- MagicLicense破解记录
- datagrid系列之-基本添加行,删除行,插入行,自定义方法
- 电压电流采集模块,温湿度采集,称重模块,变送器,adc模数转换模块
热门文章
- js 给日期加一天或者减一天
- Veeam BR 13 磁带库备份与恢复
- 武汉理工大计算机学院研究生毕业,武汉理工大学和南京理工大学计算机研究生比较一下...
- windows启动nacos startup.cmd报错 失败
- python同时输出两个print_Python3基础 print与,结合 一次输出多个数据
- windows 不能在本地计算机启动apache2.4。有关更多信息,查阅系统事件日志。如果这是非Microsoft服务,...
- 从新手小白入门MFC框架-黄强-专题视频课程
- 小型断路器A、B、C、D型脱扣特性的区别
- 区区几行代码你可以完成逆袭,从此成为抽象派画家,有图有真相
- WebRTC ULPFEC