题目链接

果然期末考完哈希就忘的差不多了qwq
开始只得了17分,原因是判断素数忽略了1以及处理冲突出错,后来纠正素数判断和处理冲突后得到20分,因为一开始用了loc,后来处理冲突寻找新位置新定义了newloc,结果即便找到新位置也一直输出的原始loc导致测试点3一直不通过,所以找不出问题的时候还是重新写一遍代码,隐藏错误太看看出来了。
总结一下本题的收获:
1.判断素数的函数要能判断出≥1的所有数,1不是素数这个特例要记得特殊处理;(以为姥姥不会考1,结果1占测试点0的3分)
2.冲突之后Hi=(H(key)+di)modsizeH_i=(H(key)+d_i) mod sizeHi​=(H(key)+di​)modsize , size为哈希表表长, 增量 did_idi​依据不同的探测方法依次取不同的值。 特别注意这里还是要mod表长,不是超过表长之后就判定为找不到了!
3.如果枚举步长超过散列表长size仍无法找到具体位置,则不存在冲突插入位置。此处性质课上没学,发现处理冲突错误后一度想不出什么时候探测终止,索性选了一个比较大的数12000作为步长上界也能过的。
·
·
·
完整代码:

#include <iostream>
#include <bits/stdc++.h>
using namespace std;
bool vis[12000]={false};
bool isPrime(int n){if(n<=1) return false;int x=sqrt(n);for(int i=2;i<=x;i++){if(n%i==0) return false;}return true;
}
int main() {int size,N;cin >> size >> N;while(!isPrime(size)){size++;}for(int i=0;i<N;i++){int tmp;cin >> tmp;int loc=tmp%size,d=1,newloc=loc;while(vis[newloc]){if(d==size) break;newloc=(loc+d*d)%size;d++;}if(d<size) {vis[newloc]=true;//已经定义了newloc,要用新的!!!cout << newloc;}else cout << "-";if(i!=N-1) cout << " ";}return 0;
}

PAT_1078 Hashing相关推荐

  1. Hashing散列注意事项

    Hashing散列注意事项 Numba支持内置功能hash(),只需__hash__()在提供的参数上调用成员函数即可 .这使得添加对新类型的哈希支持变得微不足道,这是因为扩展APIoverload_ ...

  2. 一致性 hash 算法( consistent hashing )

    原文地址:http://blog.csdn.net/sparkliang/article/details/5279393 consistent hashing 算法早在 1997 年就在论文 Cons ...

  3. 一致性哈希(Consistent Hashing)

    在大型web应用中,缓存可算是当今的一个标准开发配置了.在大规模的缓存应用中,应运而生了分布式缓存系统.分布式缓存系统的基本原理,大家也有所耳闻.key-value如何均匀的分散到集群中?说到此,最常 ...

  4. 局部敏感哈希(Locality Sensitive Hashing)二三问[2]

    #写在前面的话 今天的这一章有几个目的,一是回答一下各位网友在各大博客上提出的问题,然后其他博主没有回答的问题.二是纠正一些别人在写局部敏感哈希时候出现的错误.就是这么贴心有没有. #假装自己是正文的 ...

  5. Locality Sensitive Hashing(局部敏感哈希)

    文章目录 Background运用背景 Big pitcture 整体架构 定义 Surprising Property References # 写在前面的话 酱酱,又到了程序媛拯救世界的时间,程序 ...

  6. Fuzzy Hashing 算法工具ssdeep 使用

    引言 ssdeep 是一个用来计算context triggered piecewise hashes(CTPH) 基于文本的分片哈希算法 ,同样也可以叫做模糊哈希 Fuzzy hashes.CTPH ...

  7. 【北大-阿里巴巴】深度哈希方法综述,23页pdf,A Survey on Deep Hashing Methods

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 最近邻搜索是寻找数据库中的数据点,使它们到查询的距离最小,这是计算机视觉.推荐系统 ...

  8. 一致性hash算法 - consistent hashing

    参考: http://yacare.iteye.com/blog/1973022 1.   情景分析 前一篇博文分析了HashMap源码,HashMap在许多场景中作为存储数据的不二选择. 但是否使用 ...

  9. 布谷鸟哈希函数的参数_用于并发读密集型的乐观Cuckoo(布谷鸟) Hashing

    用于并发读密集型的乐观Cuckoo(布谷鸟) Hashing:Optimistic Cuckoo Hashing for concurrent, read-intensive applications ...

  10. python黑客代码_[翻译]Python开发中的密码散列(Hashing)

    [翻译]Python开发中的密码散列(Hashing) 杀戮 (乌云安全实验室的杂役) | 2015-01-04 23:17 去年7月的一篇小文,看着还不错,就翻译了,当然还是我自己的语气,对于文中的 ...

最新文章

  1. SimpleAdapter理解
  2. B-Tree与B+Tree的区别
  3. JavaScript模块化-require.js
  4. Android开发学习——Android Studio配置SVN
  5. led透明屏生产厂家_如何实现LED双面透明显示屏,双面LED透明屏
  6. php 数组是否属于迭代器,数组的迭代器属性Iterator介绍
  7. 使用IHttpHandler做权限控制[ASP.NET | IHttpHandler | AjaxPro | UserHostName]
  8. python-列表演练-根据学生id获取学生数据-获取学生数据中得分较高的前N条数据
  9. 解码(四):avcodec_send_packet和avcodec_receive_frame函数讲解
  10. 移动硬盘常见故障分析
  11. ZOJ4104 Sequence in the Pocket
  12. Cadence画PCB的傻瓜式教程
  13. 深度学习课后week2 编程(识别猫)
  14. Ubuntu16.04常用工具
  15. 恢复linux硬盘数据,Linux下的硬盘数据如何恢复?
  16. nagios的配置官方文档篇
  17. CSDN前两百名博客
  18. iphonex 序列号_iPhoneX序列号在哪 苹果X序列号怎么看?
  19. oracle中prot是什么意思,Oracle 10g及pro*c相关问题及解决方法
  20. 灰色系统预测GM(1,1)模型

热门文章

  1. 数据结构名次计算和排序算法
  2. c语言中怎么表示26个字母,菜鸟求助,写一个随机输出26个英文字母的程序
  3. javafx label设置字体大小_JavaFX-实现文本
  4. 内网渗透学习04——域内横向移动
  5. CSS卡贴悬停展开效果
  6. vue 项目中使用 评论功能 带emoji表情包
  7. teensy 制作键盘 linux,kbfirmware使用教程——以制作小太刀TEX Kodachi键盘为例
  8. JVM垃圾收集器详解之Parallel Scavenge
  9. android内核调试
  10. 计算机桌面图标有小锁如何去掉,去掉电脑桌面图标小黄锁的两种方法