数据结构实验之查找五:平方之哈希表

Vite与Webpack路径配置大不同:从Vue2迁移到Vue3必须知道的public目录使用技巧 本文详细解析了Vite与Webpack在public目录路径配置上的核心差异,为Vue2迁移到Vue3的开发者提供实用指南。重点对比了两种构建工具的资源处理逻辑,给出典型编译警告的解决方案,并分享路径适配表与高级优化技巧,帮助开发者高效完成技术栈升级。 阅读详情

Problem Description
给定的一组无重复数据的正整数,根据给定的哈希函数建立其对应hash表,哈希函数是H(Key)=Key%P,P是哈希表表长,P是素数,处理冲突的方法采用平方探测方法,增量di=±i^2,i=1,2,3,…,m-1

Input
输入包含多组测试数据,到 EOF 结束。

每组数据的第1行给出两个正整数N(N <= 500)和P(P >= 2N的最小素数),N是要插入到哈希表的元素个数,P是哈希表表长;第2行给出N个无重复元素的正整数,数据之间用空格间隔。

Output
按输入数据的顺序输出各数在哈希表中的存储位置 (hash表下标从0开始),数据之间以空格间隔,以平方探测方法处理冲突。

Sample Input
4 11
10 6 4 15
9 11
47 7 29 11 9 84 54 20 30
Sample Output
10 6 4 5
3 7 8 0 9 6 10 2 1

#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <queue>
#define INF 0x3f3f3f3f
using namespace std;
int main()
{
    int n,p,a,r;
    int h[505];
    while(~scanf("%d%d",&n,&p))
    {
        memset(h,-1,sizeof(h));
        for(int i=1;i<=n;i++)
        {
            scanf("%d",&a);
            if(h[a%p]==-1)
            {
                h[a%p]=a;
                printf("%d",a%p);
            }
            else if(h[a%p]==a)
                printf("%d",a%p);
            else
            {
                for(int j=1;j<=p;j++)
                {
                    r = (a+j*j)%p;
                    if(h[r]==-1)
                    {
                        h[r]=a;
                        printf("%d",r);
                        break;
                    }
                    r = (a-j*j)%p;
                    if(h[r]==-1)
                    {
                        h[r]=a;
                        printf("%d",r);
                        break;
                    }
                }
            }
            printf(i==n?"\n":" ");
        }
    }
    return 0;
}
电机控制的智慧之眼:全面解析FOC状态观测器 摘要:本文深入探讨磁场定向控制(FOC)中的状态观测器技术,重点分析其在无传感器电机控制中的关键作用。文章详细介绍了滑模观测器(SMO)、扩展卡尔曼滤波(EKF)、龙贝格观测器和高频注入法等主流观测器的工作原理、技术特点及适用场景,其中SMO因结构简单、鲁棒性强成为当前主流方案。同时阐述了观测器与锁相环(PLL)结合的工程实践方案,并针对不同应用场景提供了观测器选型建议。文章还探讨了启动问题处理、参数敏感性等工程挑战的解决方案,以及混合观测器、AI应用等未来发展趋势。这些观测器技术使电机系统在无机械传感器情 阅读详情

相关推荐

小红书分享链接失效?教你永久保存笔记的2种方法(含API调用技巧)

本文详细解析了小红书笔记链接失效的原因,并提供了两种永久保存笔记的方法,包括短链接转换API调用技巧和本地归档技术。通过Python代码示例和工具推荐,帮助用户实现笔记内容的高效保存和管理,确保珍贵内容不再丢失。

gin88的博客 2749

【除留余数法定义hash函数+平方探测法解决hash冲突】数据结构实验之查找五:平方之哈希表

Think: 1知识点:除留余数法定义hash函数+平方探测法解决hash冲突 2反思 & 思考: hash冲突数据: 4 5 1 6 11 16数据结构实验之查找五:平方之哈希表 Time Limit: 400MS Memory Limit: 65536KBProblem Description 给定的一组无重复数据的正整数,根据给定的哈希函数建立其对应hash表,哈希函数是H(Ke

BlessingXRY的博客 1685

DoubletFinder实战:如何优化参数提升scRNA-seq双细胞识别准确率?

本文深入探讨了如何通过优化DoubletFinder参数提升scRNA-seq双细胞识别准确率。详细解析了pK和nExp参数的影响机制,提供了系统化的参数优化流程和多样本整合策略,并结合真实数据集演示了验证方法与高级应用场景,帮助研究人员获得更可靠的分析结果。

weixin_28523493的博客 339

哈希表知识与相关题目(Python)

1. 哈希表知识 1.1 哈希表简介 哈希表(Hash Table):也叫做散列表。是根据键(key)、值(value)直接进行访问的数据结构。也就是说,它通过键key和一个映射函数Hash(key)计算出对应的值value,把key和value映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做哈希函数,存放记录的数组叫做哈希表。 哈希表的关键思想是使用哈希函数,将键 key 映射到对应表的某个区块中。 哈希表的原理实例如下图所示: 上图例子的解释:value = Hash(key) = k

A496608119的博客 1747

在 Ubuntu 上安装和配置 PostgreSQL 实录

本文介绍了在Ubuntu系统上安装和配置PostgreSQL数据库的完整步骤。主要内容包括:1)通过官方源或PPA源安装最新版本;2)修改配置文件(postgresql.conf和pg_hba.conf)以允许远程访问;3)设置postgres用户密码;4)创建新用户并配置权限;5)防火墙设置和重启服务;6)验证安装和远程连接方法。文章提供了详细的命令行操作指导,帮助用户完成从安装到远程访问的全部配置过程。

qq_58168857的博客 1203

华硕ROG幻16笔记本电脑模式切换管理工具完美替代华硕奥创中心管理工具

参考文档1这个工具可以完美替代华硕奥创中心工具,可以定制化不同模式下的CPU、GPU、风扇转速、电池计划等。是由华硕开发人员开发的一个纯绿色的系统管理工具。直接展示启动后的工具界面效果图:这个工具也可以一键式停止正在运行的华硕ASUS服务,减少不必要的资源消耗。

追梦&天空的博客 1万+

哈希详解

1.应用背景 普通查找方法特点:通过将关键字值与给定值比较,来确定位置。效率取决比较次数。 理想的方法是:不需要比较,根据给定值能直接定位记录的存储位置。这样,需要在记录的存储位置与该记录的关键字之间建立一种确定的对应关系,使每个记录的关键字与一个存储位置相对应。 这就是我们要提起的哈希表 2.哈希(也称为Hash、杂凑、散列)基本思想        在记录的存储地址和它的关键字之间建立...

骐骥一跃,不能十步;驽马十驾,功在不舍。 2503

【Claude】SSL certificate verification 错误:证书校验失败与自定义 CA 配置

获取并验证企业 CA 证书后,需要配置 Claude Code(Node.js)信任该证书。Claude Code 的 SSL 错误通常源于企业代理:不是 Anthropic 服务器的问题Node.js 使用独立的 CA 存储:操作系统信任了企业 CA 不等于 Node.js 也信任NODE_EXTRA_CA_CERTS 是标准解决方案:指向包含企业 CA 的 PEM 文件绝不使用 NODE_TLS_REJECT_UNAUTHORIZED=0:这等于关闭所有 HTTPS 安全验证证书链完整性很重要。

博客 6803

哈希表的实现 除留余数法

查找有两种方式,比较式查找和计算式查找,而计算式查找则通过哈希表来实现。给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数f(key)为哈希(Hash) 函数;更通俗来说,哈希表通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这里用除留余数法来构造哈希表和开放地址法中的线性探测再散列来处理不同

hmh86的博客 3万+

JavaScript教程-字符集,Unicode转义序列,标识符,数据类型,数字,未定义值,浮点数,字符串,引用数据类型,类型检测,类型转换,运算符,关系运算符,

前端学习

VAN 212

ESP32S3接入讯飞在线语音识别教程及配套源代码

本文介绍了如何使用ESP32-S3开发板实现讯飞在线语音识别功能。首先,需要准备硬件设备,包括ESP32-S3开发板、麦克风模块、MicroSD卡模块和扬声器模块。接着,安装Arduino IDE并配置ESP32-S3开发环境,注册讯飞开放平台账号并获取API凭证。然后,通过I2S接口连接麦克风模块,并编写代码实现语音录制、Base64编码、API请求和识别结果处理。代码包括初始化WiFi、麦克风、系统时间,以及录制语音、发送请求、解析响应等功能。最后,通过按键触发录音,并将识别结果输出到串口。

2401_88800025的博客 746

2021/06/07 散列表之除留余数法以及平方探测法

给出一个序列:47 7 29 11 9 84 54 20 30 总共有9个 47 7 29 11 9 84

Mark姚 1207

XILINX RFSoC全面解析(五)—— Zynq UItrascale+ RF Data Converter IP核详解

这期我们来看看RFSoC独有的IP核——Zynq UItrascale+ RF Data Converter如何使用。 我使用的VIVADO版本是2018.3,这个是最低版本,要开发RFSoC,VIVADO版本必须不低于2018.3。 另外电脑配置也需要很高,64位,8核@3.4GHz CPU,16GB内存,固态硬盘基本就是低配,跑起来很勉强。建议有条件的朋友使用工作站或者服务器。 首先在VIVADO中新建一个工程,因为我使用的是xilinx官方的开发板,所以可以直接设定选board就行。 在I

1万+

SDUT 3377 数据结构实验之查找五:平方之哈希表

数据结构实验之查找五:平方之哈希表 Time Limit:400 msMemory Limit:65536 KiB SubmitStatistic Problem Description 给定的一组无重复数据的正整数,根据给定的哈希函数建立其对应hash表,哈希函数是H(Key)=Key%P,P是哈希表表长,P是素数,处理冲突的方法采用平方探测方法,增量di=±i^2,i=1,2,...

iQXQZX 274

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

E - 数据结构实验之查找五:平方之哈希表

Description 给定的一组无重复数据的正整数,根据给定的哈希函数建立其对应hash表,哈希函数是H(Key)=Key%P,P是哈希表表长,P是素数,处理冲突的方法采用平方探测方法,增量di=±i^2,i=1,2,3,…,m-1 Input 输入包含多组测试数据,到 EOF 结束。 每组数据的第1行给出两个正整数N(N <= 500)和P(P >= 2N的最小素数),N是要插入到哈希表的元素个数,P是哈希表表长;第2行给出N个无重复元素的正整数,数据之间用空格间隔。 Output 按输入数

K_Programmer的博客 219

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

上一篇: 安装NET Framework 错误代码0x800F081F怎么解决
下一篇: 数据结构实验之排序六:希尔排序
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值