字符串 hash
(由于字符串 hash 和整数 hash 是两个东西,以下将字符串 hash 称作 strash)
前情提要:
strash:我来!(非常好数据,使我的 strash WA 掉)
strash 是什么?strash 有什么用?该如何避免上述情况?
strash 是什么
strash 的原理其实很简单:
将一个字符串当作
So you wrote a wrong code because of this
注意不是
我的建议是第
strash 有什么用
以下应用均不包含预处理
判断两个字符串相等
直接 strash 然后判断相等即可。
判断两个字符串的字典序谁大谁小和求 LCP
二分 LCP,strash 判断相等,最后比较后面一个字符的大小。
在某个字符串上查找另一个字符串(KMP:???)
枚举出现位置,可以计算出
该如何避免“非常好数据,使我的 strash WA”
猜猜看,一个房间内至少有多少个人才能使得有至少
答案其实令人惊讶:只需要
所以,strash 的错误率还挺高的。
下面提供两种解决这个问题的方法(多选):
-
开大模数。更大的模数会使你的失误率变得更小。
-
多重哈希。一个 strash 的失误率可能很大,但是如果你开到 5 个甚至 15 个,心力交瘁的就是 hacker 了。
最后,祝大家 for(;;){rp += LLONG_MAX;}
!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具