题目链接:点击打开链接
#include
#include
#include
#include
using namespace std;
typedef unsigned long long ll;
const int key = 1e9 + 7;
const int N = 2000 + 2;
ll xp[N], h[N];
char a[N], b[N], c[N];
int...
分类:
其他好文 时间:
2014-09-05 18:18:01
阅读次数:
230
直接默认hash不会冲突,其实很多现成的字符串hash算法是很优秀的。。。大概率可以水过。。。。然后从两端往中间搞一搞,特殊处理一下中间的情况就好。#include #include #include #include #include #include #include #include #inc...
分类:
其他好文 时间:
2014-09-01 22:40:53
阅读次数:
217
字符串hash
String
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 697 Accepted Submission(s): 190
Problem Description
Give...
分类:
其他好文 时间:
2014-08-28 02:05:28
阅读次数:
245
UVA 261 - The Window Property
题目链接
题意:这题题意挺绕的。。就是给定一个字符串长度n,扫描长度为k = [1,n],然后每次只能扫描连续k个字符的子串,要求所有扫描中,每次扫描中出现的不同字符串个数都不超过k + 1,那么这个字符串就是window property,如果不是的话,就还要找出下标最小的不符合的位置(就是n次扫描中找最小的)
思路:...
UVA 257 - Palinwords
题目链接
题意:输出一个文本里面的palinword,palinword的定义为,包含两个不同的回文子串,并且要求回文子串不能互相包含
思路:对于每个单词判断一次,由于不能互相包含,对于每个位置,其实就只要找长度3和4的情况即可,这样复杂度为O(n),至于判断重复的,就用hash即可
代码:
#include
#include ...
分类:
其他好文 时间:
2014-08-20 14:09:02
阅读次数:
190
bnu36907 Subpalindromes
字符串hash+线段树
题意:给一个字符串(
1)将指定位置的字符改为c
2)询问l-r的子串,是否是回文串。
解法 :区间维护pl和pr,表示从左到右的hash和从右到左的hash,然后在up和query中合并区间,最后判断pl和pr是否相等即可。
#include
#include
#include
#include
#inc...
分类:
其他好文 时间:
2014-08-11 21:29:52
阅读次数:
301
题目:http://poj.org/problem?id=1200
题意:给一个字符串,给定n和nc,字符串里最多有nc个不同的字符,问长度为n的不同子串最多有几个
和上一篇现场赛那个一样,也是难在判重处理不好会超时
方法:将长度为n的子串映射为一个nc进制的数,开一个大数组,判断是否重复
#include
#include
#include
#include
#include
...
分类:
其他好文 时间:
2014-08-11 15:13:42
阅读次数:
218
http://acm.hdu.edu.cn/showproblem.php?pid=4821
昨晚卡了很久,开始TLE,然后优化了之后,因为几个地方变量写混,一直狂WA,搞得我昨晚都失眠了,,,
这几次hash军写错的变量--tmp=(j==m-1)?ah[j]:(ah[j]-ah[j-m]*base[m]); 外层循环变量是i,我写的字符串hash的几题都写成tmp=(i==0)?ah[j...
分类:
其他好文 时间:
2014-08-11 10:10:42
阅读次数:
245
http://poj.org/problem?id=2774
想用后缀数组的看这里:http://blog.csdn.net/u011026968/article/details/22801015
本文主要讲下怎么hash去找
开始的时候写的是O(n^2 logn)算法 果断超时。。。虽然也用了二分的,,
代码如下:
//hash+二分
#include
#include
#incl...
分类:
其他好文 时间:
2014-08-10 01:47:49
阅读次数:
337
/*===================================================* 从b串中寻找和a串长度相同的子串,返回开始位置
不保证绝对正确,发生冲突概率为O(sqrt(n)),
n为哈希函数的最大值
\*===================================================*/
#define ull u...
分类:
其他好文 时间:
2014-08-09 21:29:49
阅读次数:
201