码迷,mamicode.com
首页 > 其他好文 > 详细

Hash总结

时间:2019-10-12 22:47:58      阅读:97      评论:0      收藏:0      [点我收藏+]

标签:lin   暴力   直接   哈希   溢出   相等   而且   span   之一   

算法介绍

这个没什么好说的,就是一段比较简单的代码,具体的话要看题目。

自然溢出

这个是比较好用而且容易被卡的一种Hash方式。

\(2^{64}\)当模数然后做\(Hash\),常数比较小。

单模数

也是比较好卡的\(Hash\)之一,算法就是把上面算法的\(2^{64}\)改成了\(Mod\),自己钦定的一个素数。

双模数

这个也是比较好卡的,希望某位dalao可以卡掉这个算法,让\(Hash\)不复存在。

考虑用两个模数,只有当Hash在这两个模数下都成立才是相等。

树哈希

考虑对于这个树的每一个点做一次遍历然后把\(Hash\)值存下来即可。

当然还有异或这种便于换根(所以比较好)的作法。

题目运用

[BJOI2015]树的同构

就是树Hash的板子。

[TJOI2017]DNA

感觉字符串有的时候就是把暴力运用到了极致。。。

考虑最多三个不同,那你直接暴力匹配即可,\(Hash+O(2)\)就能够用两个\(log\)艹翻这题。

后话

如果想要知道怎么卡\(Hash\)的话,可以找我也可以baidu

Hash总结

标签:lin   暴力   直接   哈希   溢出   相等   而且   span   之一   

原文地址:https://www.cnblogs.com/fexuile/p/11664013.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!