题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3336题意就是求串s的前缀的个数和;例如:abab前缀 个数a 2ab 2aba 1abab1总数:6dp[i] 表示前面的字符以s[i-1]结尾的前缀个数;上列中dp[4]=2(以最后一个字符b结尾的前...
分类:
编程语言 时间:
2015-09-25 21:34:28
阅读次数:
245
题意是问所有前缀出现的次数和,mod10007;想一想next数组代表什么意思,是从当前失配位置走到上一个匹配位置的后面,next[i]的值说明以当前位置为结尾,长度为next[i]的后缀,与以开头元素为起始,长度为next【i】的前缀是相同的,那么方法就很容易了,对于每个j = i,沿着next【...
分类:
编程语言 时间:
2015-08-26 10:40:43
阅读次数:
180
Problem Description
It is well known that AekdyCoin is good at string problems as well as number theory problems. When given a string s, we can write down all the non-empty prefixes of this string....
分类:
其他好文 时间:
2015-06-15 18:52:24
阅读次数:
106
题意:求字符串s的所有前缀出现次数之和。http://www.cnblogs.com/jklongint/p/4446117.html思路:用kmp做,简单且效率高。以前缀结尾的位置分类,令dp[i]为以结尾位置在i的前缀数量,那么dp[i] = cnt(j)(j~i是前缀),而由kmp的next函...
分类:
编程语言 时间:
2015-04-23 07:08:52
阅读次数:
170
Count the string
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 5159 Accepted Submission(s): 2425
Problem Description
It is well kn...
分类:
其他好文 时间:
2015-01-05 09:38:35
阅读次数:
98
#include
#include
#include
using namespace std;
const int maxn = 1e6+7;
int s[maxn];//文本串
char p[2000010];//匹配串
int next[2000010];//匹配串的next数组
void GetNext(int n)
{
int pLen = n;
next[0]...
分类:
其他好文 时间:
2015-01-04 17:07:23
阅读次数:
135
Count the string
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 4449 Accepted Submission(s): 2094
Problem Description
It is wel...
分类:
其他好文 时间:
2014-07-09 10:02:57
阅读次数:
165
贴代码不是目的,讲解算法才是关键!!。解题的思路是使用了 KMP 算法,然而把并不是完整的KMP算法。只用到了它的next数组的求法。然而这正是KMP算法本身的关键所在。这里关键在于讲解next数组的思想。
在漫天飞的网络资料中,next数组的表示方法大致有两种:...
分类:
其他好文 时间:
2014-05-15 06:10:56
阅读次数:
287
题意:给一个字符串,计算所有前缀在字符串中出现的次数和。
解法:KMP计算出Next数组后,每个位置的Next数组不断往前递归,每次相应前缀次数就加1.
代码:/******************************************************
* author:xiefubao
************************************...
分类:
其他好文 时间:
2014-05-09 06:24:04
阅读次数:
302