字符串Hash+可持久化线段树 好神奇的转化…… 蒟蒻一开始还去想AC自动机去了……然而由于a[i]的范围是小于等于n,怎么也想不出一个时间复杂度合理的方法 膜拜了题解0。0原来是字符串Hash! 首先每个询问的长度都是固定的!K!那么我们就可以看作一个长度为K的数!然后就可以利用字符串...
分类:
其他好文 时间:
2015-05-16 11:41:35
阅读次数:
177
字符串hash因为如果一个字符串是回文串,那么正着做哈希和反着做哈希结果应该一样。于是我们先正反各做一边哈希。如果判断出来一个字符串是回文穿那么这个字符串的前半部分和后半部分的重数一定相同,于是当前位置的字符串回文重数f[i]就等于f[i/2]+1。 1 #include 2 #include 3 ...
分类:
其他好文 时间:
2015-05-08 20:15:32
阅读次数:
156
体验了一把字符串Hash的做法,感觉Hash这种人品算法好神奇。也许这道题的正解是后缀数组,但Hash做法的优势就是编码复杂度大大降低。 1 #include 2 #include 3 #include 4 using namespace std; 5 6 const int maxn = ...
分类:
其他好文 时间:
2015-04-22 13:52:25
阅读次数:
122
You’ve got string s, consisting of small English letters. Some of the English letters are good, the rest are bad.A substring s[l…r] (1?≤?l?≤?r?≤?|s|) of string s??=??s1s2…s|s| (where |s| is the length...
分类:
其他好文 时间:
2015-04-01 22:07:34
阅读次数:
221
int BKDRHash(char *str){ int seed = 131; int hash = 0; while (*str) hash = hash * seed + (*str++); return (hash & 0x7FFFFFFF) % MAXN;}str...
分类:
其他好文 时间:
2015-03-15 18:24:45
阅读次数:
128
题目:给你一个小写字母组成大的串和一个整数n,找到里面长度为n出现最频繁的子串。
分析:字符串、hash表、字典树。这里使用hash函数求解,只做一次扫描即可。
说明:如果频率相同输出字典序最小的。
#include
#include
#include
#include
char subs[15],buf[1000001];
char *strsub(char *str, int ...
分类:
其他好文 时间:
2015-03-13 18:46:34
阅读次数:
151
传送门:DISUBSTR题意:给定一个字符串,求不同子串个数。分析:由于数据较小,直接枚举长度为1,2...n的所有子串进行hash即可,复杂度(O(n^2)),后缀数组才是正解(O(nlogn)。#include #include #include #include #include #inclu...
分类:
其他好文 时间:
2015-03-10 21:03:44
阅读次数:
132
PHP中使用最多的非Array莫属了,那Array是如何实现的?在PHP内部Array通过一个hashtable来实现,其中使用链接法解决hash冲突的问题,这样最坏情况下,查找Array元素的复杂度为O(N),最好则为1.而其计算字符串hash值的方法如下,将源码摘出来以供查备:ps:对于以下函数...
分类:
Web程序 时间:
2015-03-06 18:40:09
阅读次数:
184
题意:给定m,l,一个字符串str。
我们定义一个子串为"recoverable”串 当
1、长度为 M*L
2、把这个好串分成M段,每段长度为L,且每段各不相同。
求“recoverable”串的个数,串相同位置不同也算不同。
思路:预处理数组hash,hash[i]表示从i位置到尾的字符串hash值。这里数组为unsigned long long型,因为可以自动取模。然后枚举
...
分类:
其他好文 时间:
2015-01-30 22:48:49
阅读次数:
301
Codeforces gym Hello 2015 Div1 E
Codeforces gym 100570 problem E
(一种处理动态最长回文子串问题的方法)
Problem
给一个长度为N的字符串S,字符集是‘a’-'z'。进行Q次操作,操作分三种。一,修改位置X的字符为C;二,查询以P位置为中心的最长回文子串的长度,并输出;三,查询以P与P+1的中间位置为中心的最长回文子...
分类:
其他好文 时间:
2015-01-09 21:04:34
阅读次数:
262