解密
来源:互联网 发布:滨州市安全网络平台 编辑:程序博客网 时间:2024/04/29 16:33
题意
Mirko要解一段加密文,但他只知道某一个句子是原文的一部分。你的任务是要在密文中找到第一个对应这个句子的地方。
文段是通过用某个单词(可能和原文一样的单词)替换原始文段每一个单词来加密的。如果某些单词在原文出现一次以上,就会使用相同的替换单词来替换。没有两个不同的单词使用相同的替换单词。
单词是通过空格隔开的小写字母序列。句子是连续单词的序列。
文段、句子长度不超过
分析
我们发现,如果一段密文是由原文加密而来的,那该段密文中每两个相同单词间的间距要与原文中每两个相同单词间的间距相同。我们可用
问题到这里就比较显然了,我们可以用哈希求出原文新字符串对应的哈希值,然后动态维护一段长度与原文长度相同的密文字符串的哈希值。即从左往右扫原文,每将我们将当前枚举的那段密文串向右移一位,就减去原来最左边的密文串的
但这样我们又会发现一个问题,就是如果密文串中的一个
- 解密``
- 解密
- 解密
- 解密
- 解密
- 解密
- 解密
- 解密
- 解密
- 解密
- 解密
- 解密
- 指针解密
- HOOK解密
- Rundll32解密
- javascript解密
- 加密解密
- 解密UFO
- FZUOJ 过河I (BFS 好题)
- hdu 4777 Rabbit Kingdom(树状数组)
- 取消360安全卫士开机自启动
- Activity的启动, android 任务栈及启动模式 ,Intent的用法
- hdu 1465
- 解密
- 前端开发必须知道的JS(二) 闭包及应用
- Menu,dialog的用法
- HDU 5339 Untitled 状态压缩 BC round49 A
- 关键字输入框js
- 基于JMF下的Java的MP3播放
- 进制转换
- POJ 1426 Find The Multiple (DFS / BFS)
- 再谈js拖拽(一)