摘要: 文章网上太多这里提一下代码细节:KMP: 1 scanf("%s\n",s); 2 scanf("%s\n",t); 3 int ls=strlen(s),lt=strlen(t); 4 f[0]=f[1]=0; 5 for(int i=1;ik,故s[i..p]==t[i-k..p-k]而又想到应该是s[i..p]==t[0..?],因为匹配的是从0开始的,所以就涉及到了t[i-k..?]和t[0..?]的自身匹配,故引进next[i-k]表示t和t自己匹配(与ex[]一样,只不过ex[]保存的是两个字符串的匹配),设其为L,则有t[i-k..i-k+ 阅读全文
posted @ 2014-02-23 23:13 Chellyutaha 阅读(475) 评论(0) 推荐(0) 编辑