字符串哈希(应用)


【求取字符串某长度的本质不同子串数量】:

POJ 1200 Crazy Search(单哈希)

CodeForces 271D Good Substrings(双哈希)

先枚举获取所有的定长子串的hash值,排序去重后的数据个数就是答案。


【求取最长回文串】:

POJ 3974 Palindrome

正逆都哈希一遍,枚举对称轴,分别对奇数长度和偶数长度做二分,如果区间的正逆哈希值相同证明其为回文串。


【求取连续重复串】:

CodeForces D. Common Divisors

枚举连续重复串的长度(先判断是不是因子),然后利用 P [ ] P[] P[]数组自我复制延长到原长判断hash值是否相同即可。


【O(1)获取修改原字符串某字符的新hash值】:

Codeforces 514 C. Watto and Mechanism


你可能感兴趣的:(ACM——字符串)