【ACM POJ】
文章平均质量分 74
paidream
这个作者很懒,什么都没留下…
展开
-
【POJ 3461 KMP】
题目链接:http://poj.org/problem?id=3461#include#include#includeusing namespace std;char s1[10005],s2[1000005];int next[10005];void getNext(char *p,int *next){ next[0]=-1; int i=0,k原创 2013-12-02 21:44:15 · 503 阅读 · 0 评论 -
【POJ 2406 】
题目链接:http://poj.org/problem?id=2406设文本为T={t1,t2...tn},模式为P={p1,p2...pn},则KMP算法的大概思想就是提前计算出在字符处匹配中遇到前q个字符匹配而第q+1个字符不匹配时,模式P需要移动的位置数。在算法导论中,引入了一个数组π,用于保存这样的信息。π[m]的含义就是既是Pm的前缀又是Pm的真后缀的最大子串长度。之所以是“真”后缀原创 2013-12-04 11:23:02 · 465 阅读 · 0 评论 -
【POJ 2752 KMP之next】
题目链接:http://poj.org/problem?id=2752#include#includeusing namespace std;char s[400005];int next[400005],a[400005];void getnext(char *p,int *next){ int len=strlen(p); next[0]=-1; int i原创 2013-12-04 10:32:28 · 618 阅读 · 0 评论 -
【POJ 1961】
题目链接:http://poj.org/problem?id=1961对每个前缀i,若能由某些字符重复k次形成,输出最大的k。与上题类似,枚举i,若i%(i-f[i])==0 则最短循环节为i-f[i],k为i/(i-f[i])/*当 n%(n-f[n])==0时,n-f[n] 是s最短的循环节。*/#include#include#includeusing nam原创 2013-12-06 17:26:25 · 536 阅读 · 0 评论