1145 Hashing - Average Search Time (25 point(s))

1145. Hashing - Average Search Time (25)(二次方探测再散列) The task of this problem is simple: insert a sequence of distinct positive integers into a hash table first. Then try to find another sequence of integer keys from the table and output the average sea... 阅读详情

1145 Hashing - Average Search Time (25 point(s))

The task of this problem is simple: insert a sequence of distinct positive integers into a hash table first. Then try to find another sequence of integer keys from the table and output the average search time (the number of comparisons made to find whether or not the key is in the table). The hash function is defined to be H(key)=key%TSize where TSize is the maximum size of the hash table. Quadratic probing (with positive increments only) is used to solve the collisions.

Note that the table size is better to be prime. If the maximum size given by the user is not prime, you must re-define the table size to be the smallest prime number which is larger than the size given by the user.

Input Specification:

Each input file contains one test case. For each case, the first line contains 3 positive numbers: MSize, N, and M, which are the user-defined table size, the number of input numbers, and the number of keys to be found, respectively. All the three numbers are no more than 10​4​​. Then N distinct positive integers are given in the next line, followed by M positive integer keys in the next line. All the numbers in a line are separated by a space and are no more than 10​5​​.

Output Specification:

For each test case, in case it is impossible to insert some number, print in a line X cannot be inserted. where X is the input number. Finally print in a line the average search time for all the M keys, accurate up to 1 decimal place.

Sample Input:

4 5 4
10 6 4 15 11
11 4 15 2

Sample Output:

15 cannot be inserted.
2.8

哈希表模拟。关键是如何处理碰撞和如何理解平方探测。

对本题存疑:

在本题中,平方探测的增量范围值是[0,Msize] ,我认为这是没有必要的,即使要这样做[0,Msize-1]即可。而实际上一般是[0,Msize/2]。

key\mod Msize=(key+Msize\times Msize) \mod Msize

相关链接:

https://blog.youkuaiyun.com/richenyunqi/article/details/81211430

https://blog.youkuaiyun.com/qq_37142034/article/details/87903983

#include<iostream>
#include<cstring>
using namespace std;
bool isPrime(int n){
	for(int i=2;i*i<=n;i++){
		if(n%i==0) return false;
	}
	return true;
}
const int MAX = 1e5+13;
int table[MAX]={0};
int main(void){
	int Msize,N,M;cin>>Msize>>N>>M;
	while(!isPrime(Msize)) Msize++;
	int key,q;
	while(N--){
		cin>>key;bool isOk=false;
		for(int i=0;i<Msize;i++){
			if(table[(key+i*i)%Msize]==0){
				table[(key+i*i)%Msize]=key;
				isOk = true;
				break;
			}
		}
		if(!isOk) cout<<key<<" cannot be inserted."<<endl;
	}
	int sum=0;
	for(int i=0;i<M;i++){
		cin>>q;
		for(int k=0;k<=Msize;k++){
			int npos = (q+k*k)%Msize;
			if(table[npos]==0||table[npos]==q||k==Msize){
				//cout<<k+1<<endl; 
				sum+=(k+1);
				break;
			}
		}
	}
	printf("%.1f\n",double(sum)/double(M));
	return 0;
} 

 

【信息科学与工程学】【数据科学】数据科学领域——第三篇 数学08 几何学00总篇 编号英文名称中文名称简要说明/归属1Foundations of Geometry几何基础公理化方法, Hilbert《几何基础》2Euclidean Geometry (Synthetic)欧几里得几何(综合法)《几何原本》传统3Analytic Geometry解析几何坐标方法, Descartes, Fermat4Plane Geometry平面几何三角形、圆、共点共线等经典问题5Solid Geometry立体几何三维空间中的图形与度量6Non-Euclidean Geometry非欧几何平行公设不 阅读详情

相关推荐

政府科技管理者如何提升科技成果转化项目进场交易的备案效率?.docx

政府科技管理者如何提升科技成果转化项目进场交易的备案效率?

1145 Hashing - Average Search Time (25 point(s))

题解 解决冲突应该msize / 2就可以了。没有必要msize。  #include&lt;iostream&gt; #include&lt;cstdio&gt; #include&lt;vector&gt; #include&lt;cmath&gt; using namespace std; bool isPrime(int x) { if(x &lt; 2) return fal...

徐伯莱 305

山区道路边坡落石隐患检测数据集VOC+YOLO格式241张1类别.md

【重要提示】本页面仅为资源介绍,不含外部下载地址 亲爱的 优快云 用户: 感谢你浏览本资源页面,在这里提前向大家说明相关情况,避免后续产生误解。本资源我设置的初衷是 0 积分免费分享文档介绍,希望可以无偿给到有需要的朋友。但 优快云 平台存在自动调控机制,系统会根据资源下载热度、文件体积、平台规则等因素,自动修改资源所需下载积分,页面显示为 1 积分、2 积分或更高积分都属于平台自动调整结果,并非我手动修改设置,我没有权限自主锁定积分数值。 如果你打开页面后,发现下载所需积分不为 0,请务必谨慎考虑是否下载。一旦你支付积分完成下载,后续遇到资源内容和描述不符、文件损坏等问题,我无法承担对应的积分损失,也没有渠道为你办理积分退还。在此强烈建议,只有页面明确显示 0 积分的时候,再进行下载操作。 同时特别说明:这份资源介绍文案里,没有附带任何外部下载地址。资源本身是通过 优快云 官方上传通道上传的附件,正常情况下直接点击页面自带的下载按钮即可获取文件。页面找不到外部下载链接属于正常情况,并非资源缺失。 如果因为平台积分显示异常,导致你被扣取积分,积分退款、积分异常相关问题,请直接联系 优快云 官方客服咨询处理。平台规则由官方制定,我无法干预积分变动,望各位理解。

1145 Hashing - Average Search Time (25分)

注意: 判断素数的方法继续循环条件为i * i <= num。 平方探测法的增量d取值范围为0 <= d <= tableSize。 通过计算样例得知,无论探测的位置是否为空,都算一次探测。 #include<cstdio> int tableSize, inputNum, keyNum; int table[10100] = { 0 }; bool isPri...

void 226

高空作业栏杆检测数据集VOC+YOLO格式230张3类别.md

【重要提示】本页面仅为资源介绍,不含外部下载地址 亲爱的 优快云 用户: 感谢你浏览本资源页面,在这里提前向大家说明相关情况,避免后续产生误解。本资源我设置的初衷是 0 积分免费分享文档介绍,希望可以无偿给到有需要的朋友。但 优快云 平台存在自动调控机制,系统会根据资源下载热度、文件体积、平台规则等因素,自动修改资源所需下载积分,页面显示为 1 积分、2 积分或更高积分都属于平台自动调整结果,并非我手动修改设置,我没有权限自主锁定积分数值。 如果你打开页面后,发现下载所需积分不为 0,请务必谨慎考虑是否下载。一旦你支付积分完成下载,后续遇到资源内容和描述不符、文件损坏等问题,我无法承担对应的积分损失,也没有渠道为你办理积分退还。在此强烈建议,只有页面明确显示 0 积分的时候,再进行下载操作。 同时特别说明:这份资源介绍文案里,没有附带任何外部下载地址。资源本身是通过 优快云 官方上传通道上传的附件,正常情况下直接点击页面自带的下载按钮即可获取文件。页面找不到外部下载链接属于正常情况,并非资源缺失。 如果因为平台积分显示异常,导致你被扣取积分,积分退款、积分异常相关问题,请直接联系 优快云 官方客服咨询处理。平台规则由官方制定,我无法干预积分变动,望各位理解。

ti-cgt-c2000-22.6.0.LTS-windows-x64-installer

ti-cgt-c2000-22.6.0.LTS-windows-x64-installer

1145 Hashing - Average Search Time (25 分)(散列冲突检测)

1145Hashing - Average Search Time(25 分) The task of this problem is simple: insert a sequence of distinct positive integers into a hash table first. Then try to find another sequence of integer key...

weixin_38902950的博客 451

从零开始使用CubeMX配置STM32使用lwip实现httpd服务器以及使用vscode编辑阅读keil代码(三)

使用stm32搭载lwip实现HTTPd服务器

qq_30623327的博客 5933

1145 Hashing - Average Search Time (25 分) 哈希表 平均查找长度

题干太长了,这次不写题干了,主要说说散列表,又叫哈希表(hash table) 散列表是一种存储数据的方法,通过散列表,可以实现直接用关键字(key)访问数据所在位置。具体实现方法为使用散列函数(哈希函数)H(key),对每个关键字,都可以计算出一个地址。显然,不同的关键字可能有同一个地址,造成地址冲突,有解决这些地址冲突的方法。 H(key)=address 哈希函数有很多种构造方法,常用的有...

辣鸡的博客 437

【Audio driver】深入解析mixer_paths.xml中的音频通路配置

本文深入解析了Android音频驱动开发中的核心配置文件mixer_paths.xml。文章以高通平台为例,详细阐述了音频通路(FE、BE、DSP、Device)的概念与连接逻辑,并通过实战案例拆解了扬声器与麦克风通路的配置方法、关键控件作用及调试技巧,是理解与定制Android音频系统的实用指南。

ik6789012的博客 359

大华事件检测智能服务器,大华股份:高速公路智能事件检测 解决方案

1方案背景随着我国基础设施建设的飞速发展,公路尤其是高速公路的总里程数年年攀升。交通运输部统计数据显示,截止2017年底全国公路总里程477.35万公里,其中高速公路13.65万公里,位居世界第一。高速公路的运营和管理作为全国交通管理的重要组成部分日益受到严峻挑战,交通拥堵和事故频发已成为高速公路上非常突出的问题。抛洒物、行人、车辆不规则行驶等事件是导致以上结果的重要原因。基于视频分析的高速公路智...

weixin_39523887的博客 1823

PAT甲级 1078 Hashing (25 分)(二次方探查法)

1078 Hashing (25 分) The task of this problem is simple: insert a sequence of distinct positive integers into a hash table, and output the positions of the input numbers. The hash function is defined ...

qq_29762941的博客 493

深入解析MOS管电容特性:从基础理论到高频应用

本文深入解析了MOS管的电容特性,从基础物理结构出发,详细拆解了栅氧电容、重叠电容和结电容的成因与影响。文章重点探讨了电容值随工作状态变化的非线性特性,并分析了其在CMOS高频开关电源、射频电路等应用中的关键作用,包括开关损耗、米勒效应、信号完整性挑战以及如何将电容特性转化为可控元件(如MOS变容管)的机遇。最后提供了从选型、仿真到PCB布局的实战设计指南。

weixin_29278805的博客 382

【PAT】A1145 Hashing - Average Search Time (25 point(s))

文章目录A1145 Hashing - Average Search Time (25 point(s))Input Specification:Output Specification:Sample Input:Sample Output: A1145 Hashing - Average Search Time (25 point(s)) The task of this problem is ...

Duke 224

QMT量化交易实战:如何用通达信预警数据自动买卖股票(附完整Python代码)

本文详细介绍了如何利用QMT平台结合通达信预警数据实现股票自动化交易,提供完整的Python代码实现。通过实时监控通达信预警板块文件,系统自动执行买卖操作,提升交易效率。文章涵盖系统架构设计、数据对接、信号处理、订单执行等核心模块,适合量化交易初学者和通达信用户参考实践。

weixin_29251567的博客 678

rk3576 适配摄像头 (mipi 双摄)

RK3576 自带两个 4-Lane DPHY 和一个 DCPHY CSI 接口,可以连接 4lane 的双摄像头,最直接的方式就是充分利用其两个 D-PHY 接口。次选方案是 DCPHY + DPHY方案,更次之方案是单DPHY,设置成分离模式,连接两颗摄像头。

weixin_35723192的博客 393

PAT1145 Hashing - Average Search Time (25point(s)) (刷题笔记)

1145 Hashing - Average Search Time (25point(s)) 题目: 把一个不同正整数组成的序列插入到一个哈希表中。然后从哈希表中找另一个给定的整数序列,并输出平均查找时间(the number of comparisons made to find whether or not the key is in the table)。 哈希函数是 H(key)=key%TSize 解决冲突的方式是二次探测,只用到正的增量。也就是说增量序列是1²,2²…(MSize-1)²,注

momoomoo的博客 218

【数据集】中国2003年至2022年全天空每日气温数据集

中国2003年至2022年全天空每日气温数据集

WW、forever的博客 603

PAT甲级1145 Hashing - Average Search Time (25point(s))

又是坑人的一题。必须要在哈希表中查找 tSize+1 次还没找到才能停止,我觉得不太对啊,第 tSize+1 次查找,(x + tSize*tSize) % tSize 不是显而易见地是跟第一次查找是一毛一样的位置吗???为什么还要没事找事再找一遍???反正我不理解。。 #include <bits/stdc++.h> using namespace std; const int maxn = 1e4+1e2; int tSize, n, m; int hashTable[maxn]; in

坤斤拷的博客 434

rk3588 适配音频解码芯片 ALC5616

在 RK3588 的高性能方案中,选择 **ALC5616**(来自 Realtek 瑞昱)通常意味着项目更侧重于**音频性能的稳定性**以及**全球供应链的通用性**。

weixin_35723192的博客 147

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

1145 Hashing - Average Search Time (25point(s)) - C语言 PAT 甲级

* 先更新 Msize 为第一个大于等于其本身的素数,表示真正的哈希表大小 * 平方探测法插入 N 个数据 * 查询 M 个数据的时间,就是指查找长度 注意: * 查询时,j <= msize,正常来说 (a + 0 * 0) % msize 等价于 (a + msize * msize) % msize,所以不需要加等号 * 但本题需要有等于号,是因为不加 PAT 后台过不了

有三只土豆 202

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

PAT_甲级_1145 Hashing - Average Search Time (25point(s)) (C++)【哈希表/平方正向探测法】

1,题目描述 Sample Input: 4 5 4 10 6 4 15 11 11 4 15 2 Sample Output: 15 cannot be inserted. 2.8 2,思路 3,AC代码 4,解题过程 第一搏 #include<bits/stdc++.h> using namespace std; int ...

&再见萤火虫&的博客 409

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

PAT 1145 Hashing - Average Search Time

The task of this problem is simple: insert a sequence of distinct positive integers into a hash table first. Then try to find another sequence of integer keys from the table and output the average sea...

weixin_30256901的博客 199

Pat(Advanced Level)Practice--1078(Hashing)

Pat1078代码 题目描述: The task of this problem is simple: insert a sequence of distinct positive integers into a hash table, and output the positions of the input numbers. The hash function is defin

奋起的Coder。。。 1145

1078 Hashing (25 分)

The task of this problem is simple: insert a sequence of distinct positive integers into a hash table, and output the positions of the input numbers. The hash function is defined to be H(key)=key%TSiz...

SourDumplings的博客 250
上一篇: 1130 Infix Expression (25 point(s))
下一篇: 1146 Topological Order (25 point(s))
coderwait
博客等级 码龄9年 20粉丝 210原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值