Hash总结
算法介绍
这个没什么好说的,就是一段比较简单的代码,具体的话要看题目。
自然溢出
这个是比较好用而且容易被卡的一种Hash方式。
用\(2^{64}\)当模数然后做\(Hash\),常数比较小。
单模数
也是比较好卡的\(Hash\)之一,算法就是把上面算法的\(2^{64}\)改成了\(Mod\),自己钦定的一个素数。
双模数
这个也是比较好卡的,希望某位dalao可以卡掉这个算法,让\(Hash\)不复存在。
考虑用两个模数,只有当Hash在这两个模数下都成立才是相等。
树哈希
考虑对于这个树的每一个点做一次遍历然后把\(Hash\)值存下来即可。
当然还有异或这种便于换根(所以比较好)的作法。
题目运用
[BJOI2015]树的同构
就是树Hash的板子。
[TJOI2017]DNA
感觉字符串有的时候就是把暴力运用到了极致。。。
考虑最多三个不同,那你直接暴力匹配即可,\(Hash+O(2)\)就能够用两个\(log\)艹翻这题。
后话
如果想要知道怎么卡\(Hash\)的话,可以找我也可以baidu。
Hash总结的更多相关文章
- 复杂的 Hash 函数组合有意义吗?
很久以前看到一篇文章,讲某个大网站储存用户口令时,会经过十分复杂的处理.怎么个复杂记不得了,大概就是先 Hash,结果加上一些特殊字符再 Hash,结果再加上些字符.再倒序.再怎么怎么的.再 Hash ...
- 对抗密码破解 —— Web 前端慢 Hash
(更新:https://www.cnblogs.com/index-html/p/frontend_kdf.html ) 0x00 前言 天下武功,唯快不破.但在密码学中则不同.算法越快,越容易破. ...
- 散列表(hash table)——算法导论(13)
1. 引言 许多应用都需要动态集合结构,它至少需要支持Insert,search和delete字典操作.散列表(hash table)是实现字典操作的一种有效的数据结构. 2. 直接寻址表 在介绍散列 ...
- hash表长度优化证明
hash表冲突的解决方法一般有两个方向: 一个是倾向于空间换时间,使用向量加链表可以最大程度的在节省空间的前提下解决冲突. 另外一个倾向于时间换空间,下面是关于这种思路的一种合适表长度的证明过程: 这 ...
- SQL Server-聚焦查询计划Stream Aggregate VS Hash Match Aggregate(二十)
前言 之前系列中在查询计划中一直出现Stream Aggregate,当时也只是做了基本了解,对于查询计划中出现的操作,我们都需要去详细研究下,只有这样才能对查询计划执行的每一步操作都了如指掌,所以才 ...
- C# salt+hash 加密
一.先明确几个基本概念 1.伪随机数:pseudo-random number generators ,简称为:PRNGs,是计算机利用一定的算法来产生的.伪随机数并不是假随机 数,这里的" ...
- SQL 提示介绍 hash/merge/concat union
查询提示一直是个很有争议的东西,因为他影响了sql server 自己选择执行计划.很多人在问是否应该使用查询提示的时候一般会被告知慎用或不要使用...但是个人认为善用提示在不修改语句的条件下,是常用 ...
- 对一致性Hash算法,Java代码实现的深入研究
一致性Hash算法 关于一致性Hash算法,在我之前的博文中已经有多次提到了,MemCache超详细解读一文中"一致性Hash算法"部分,对于为什么要使用一致性Hash算法.一致性 ...
- 巧用location.hash保存页面状态
在我们的项目中,有大量ajax查询表单+结果列表的页面,由于查询结果是ajax返回的,当用户点击列表的某一项进入详情页之后,再点击浏览器回退按钮返回ajax查询页面,这时大家都知道查询页面的表单和结果 ...
- redis数据结构详解之Hash(四)
序言 Hash数据结构累似c#中的dictionary,大家对数组应该比较了解,数组是通过索引快速定位到指定元素的,无论是访问数组的第一个元素还是最后一个元素,所耗费的时间都是一样的,但是数组中的索引 ...
随机推荐
- 【转载】如何查看本机电脑的公网IP
在实际使用电脑的过程中,很多时候我们需要知道本地电脑的当前公网IP地址,我们都知道个人电脑的公网IP是不固定的,可能每天的对外公网IP都不一样,如果要查看当前本机电脑的对外公网IP,方法也很简单,直接 ...
- 【转载】C#中ArrayList集合类使用Remove方法指定元素对象
ArrayList集合是C#中的一个非泛型的集合类,是弱数据类型的集合类,可以使用ArrayList集合变量来存储集合元素信息,任何数据类型的变量都可加入到同一个ArrayList集合中,在Array ...
- HTTP协议中GET和POST
1. get 它用于获取信息,注意,他只是获取.查询数据,也就是说它不会修改服务器上的数据,从这点来讲,它是数据安全的,而稍后会提到的Post它是可以修改数据的,所以这也是两者差别之一了 2. pos ...
- html, js,css应用文件路径规则
web前端一般常用文件 .html .css .js.但是当用css文件和html引入资源(比如图片)时,路径可能不相同.下面总结了几条. 使用相对路径引入规则: html或者js引入图片,按照htm ...
- Servlet入门和HTTP。
Servlet: 1.概念:Servlet:server applet ,运行在服务器端的小程序. 浏览器在访问服务器的动态资源时,访问的是具有逻辑性的Java代码(Java类),而这里的Jav ...
- Docker 0x03:Install Docker
目录 Install Docker Centos yum 安装 运行docker-daemon并开机自启动 运行hello-world应用docker容器中 Ubn Install Docker do ...
- springboot 打包太大,打包瘦身,打包thin
pom文件修改: <build> <resources> <resource> <directory>src/main/resources</di ...
- Python 函数返回值类型
[ i for i in dir(set) if not i.startswith('_') ]   
- Beta冲刺第2次
二.Scrum部分 1. 各成员情况 翟仕佶 学号:201731103226 今日进展 优化了文件IO 存在问题 无 明日安排 同小小组另两人协商功能改进 截图 曾中杰 学号:201731062517 ...
- mysql毫秒数引发的问题
起因:最近同事在做定时打卡的东西,遇到一个诡异的问题,端只是传了一个开始时间跟打卡周期,剩下的打卡时间都是由服务端自己生成的,显示的截止时间有的变成==23:59:59==. 有时候又变成了 ==00 ...