专栏文章

题解:P12201 Hash Killer Phantasm

P12201题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@mipk2175
此快照首次捕获于
2025/12/03 13:17
3 个月前
此快照最后确认于
2025/12/03 13:17
3 个月前
查看原文
只要随机生成 p\sqrt p 个字符串就会出现哈希值相同的字符串(这里涉及一个数学概率论中一个有趣的悖论:birthday paradox),所以随机生成字符串并检验,数量级可以接受。先考虑其中一组哈希,随机拼接字母 az 生成字符串并用一个 map 维护是否存在此前生成的字符串与新生成的字符串哈希值相同,并随时记录每个哈希值所对应的字符串,直到获得一组配对,再每次随机选择这对字符串中的一个拼接出一个新的字符串,这样可以保证第一组哈希值保持相同,得到第二组配对。尝试不同的参数作为两次生成的字符串的长度,实测很多都能通过(比如我用的 1145)。使用 mt19937 rnd(random_device{}()) 实现。

评论

0 条评论,欢迎与作者交流。

正在加载评论...