国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

|Hdu 2087|KMP|剪花布條

2019-11-10 20:10:34
字體:
供稿:網(wǎng)友

Hdu傳送門 KMP即可。注意不可重疊,用一個(gè)last記錄上一個(gè)不重復(fù)匹配成功的位置,之后如果匹配成功,記當(dāng)前位置為i,如果i?last>模式串長度,即匹配成功,更新last

#include<cstdio> #include<algorithm> #include<cstring> #define ms(i,j) memset(i,j, sizeof i);using namespace std; char s1[1000 + 5], s2[1000 + 5]; int f[1000 + 5];void getFail(){ int len = strlen(s2); f[0] = f[1] = 0; for (int i=1;i<len;i++) { int j = f[i]; while (j && s2[i]!=s2[j]) j = f[j]; f[i+1] = (s2[i]==s2[j]) ? (j+1) : (0); }}int KMP(){ int len = strlen(s1); int l2 = strlen(s2); int last = -1; int ret = 0; int j = 0; for (int i=0;i<len;i++) { while (j && s1[i]!=s2[j]) j = f[j]; if (s1[i]==s2[j]) j++; if (j==l2) { if (i-last>=l2) { ret++; last = i; } } } return ret;}int main() { while (scanf("%s", s1)&&s1[0]!='#') { scanf("%s", s2); getFail();
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 泉州市| 阿克苏市| 丰都县| 金乡县| 衢州市| 射洪县| 永新县| 宕昌县| 翁牛特旗| 澳门| 南靖县| 安庆市| 余干县| 鄂托克前旗| 林口县| 绥中县| 濮阳县| 格尔木市| 叶城县| 鄢陵县| 莫力| 界首市| 天水市| 溆浦县| 平山县| 诏安县| 睢宁县| 祁门县| 牡丹江市| 玉田县| 巴林右旗| 灵武市| 嘉祥县| 新绛县| 景宁| 呼伦贝尔市| 米易县| 报价| 衡水市| 延吉市| 勃利县|