soj 3014: Seek the Name, Seek the Fame (字符串hash)
2015-11-12 13:29
381 查看
@(K ACMer)
题意:
对于一个字符串s,找出所有相同的前缀后缀长度.
分析:
一看就可以用字符串hash来搞,首位两端维护一个hash值,如果该hash值相等就说明字符串相同.
字符串hash代码
题意:
对于一个字符串s,找出所有相同的前缀后缀长度.
分析:
一看就可以用字符串hash来搞,首位两端维护一个hash值,如果该hash值相等就说明字符串相同.
字符串hash代码
#include <cstdio> #include <iostream> #include <cstring> #include <cstdlib> #include <string> #include <vector> #include <set> #include <map> #include <queue> #include <algorithm> using namespace std; const int maxn = 4e5 + 123, INF = 0x3fffffff, mod = 1e9 + 7; typedef int ull; char s[maxn]; int slen, seed = 131; int main(void ){ while (~scanf("%s", s)) { slen = (int)strlen(s); ull a = 0, b = 0, x = 1; bool first = false; for (int i = 0, j = slen - 1; i < slen; i++, j--) { a = (s[i] - 'a' + 1) + a * seed; b = b + (s[j] - 'a' + 1) * x; if (a == b) { if (first) printf(" "); else first = true; printf("%d", i + 1); } x *= seed; } printf("\n"); } return 0; }
相关文章推荐
- c语言实现hashmap(转载)
- Ruby中Hash的11个问题解答
- Ruby简明教程之数组和Hash介绍
- 在C#中生成与PHP一样的MD5 Hash Code的方法
- js中hash和ico的关联分析
- Javascript SHA-1:Secure Hash Algorithm
- 理解php Hash函数,增强密码安全
- PHP利用hash冲突漏洞进行DDoS攻击的方法分析
- PowerShell中定义哈希散列(Hash)和调用例子
- Redis String 类型和 Hash 类型学习笔记与总结
- php操作redis中的hash和zset类型数据的方法和代码例子
- Perl 哈希Hash用法之入门教程
- perl哈希hash的常见用法介绍
- php自定义hash函数实例
- php对文件进行hash运算的方法
- php常用hash加密函数
- PHP Hash算法:Times33算法代码实例
- php的hash算法介绍
- memcache一致性hash的php实现方法
- Mysql中的Btree与Hash索引比较