麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

|算法討論|KMP 學習筆記

2019-11-11 05:09:47
字體:
來源:轉載
供稿:網友

輸入兩個字符串s1和s2,輸出s2在s1中出現的位置(位置從0開始) input

abcdefghidefdddeeeffdefeddef

output

3920

實質上是MP算法

#include<cstdio> #include<algorithm> #include<cstring> #define ms(i,j) memset(i,j, sizeof i); using namespace std;char s1[1000000 + 5], s2[1000 + 5]; int next[1000 + 5];int n,m; void getNext()//獲得失配函數 { next[0] = 0; next[1] = 0; for (int i=1;i<m;i++) { int j = next[i]; while (j && s2[i]!=s2[j]) j = next[j]; next[i+1] = ((s2[i]==s2[j]) ? (j+1) : (0)); }}void kmp()//在s1里找s2 { getNext(); int j = 0; for (int i=0;i<n;i++) { while (j && s1[i]!=s2[j]) j = next[j]; if (s1[i]==s2[j]) j++; if (j==m) KMP求字符串中的最短周期(循環節): poj 2406 Power Strings

#include<cstdio> #include<algorithm> #include<cstring> #define ms(i,j) memset(i,j, sizeof i); using namespace std;const int MAXN = 1000000 + 5;int n;char s[MAXN];int f[MAXN];int main() { while (scanf("%s", s)&&(s[0]!='.')) { n = strlen(s); f[0] = f[1] = 0; for (int i=1;i<n;i++) { int j = f[i]; while (j && s[i]!=s[j]) j = f[j]; f[i+1] = (s[i]==s[j]) ? (j+1) : (0); } int ans = n-f[n]; if (n%ans==0) ans = n/ans; else ans = 1; printf("%d/n", ans); } return 0; }
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 色网站综合 | 色天使中文字幕 | 国产在线精品一区二区三区不卡 | av在线免费观看不卡 | 天天夜天天操 | 99国语露脸久久精品国产ktv | 97黄色网 | 国产精品视频海角社区88 | v11av在线播放 | 日本网站在线播放 | 国产亚洲精品久久午夜玫瑰园 | 在线1区| 狠狠干天天操 | 斗罗破苍穹在线观看免费完整观看 | 亚洲极色 | 中国产一级毛片 | www.精品视频| 久久精品电影网 | 免费毛片儿 | 法国性hdfreexxxx人妖 | 成人店女老板视频在线看 | 日韩av手机在线免费观看 | 91香草视频| 亚洲视频在线免费看 | 99国产精品欲a | 久久久精彩 | 欧美一级理论 | 午夜精品一区二区三区免费 | 俄罗斯16一20sex牲色另类 | 国产成人在线综合 | 一区二区久久久久草草 | av日韩一区二区三区 | 久久免费精品视频 | 精品中文一区 | 久久久久久艹 | 在线成人免费网站 | sese在线视频 | 精品一区二区三区日本 | 一级网站片 | 国产精品久久久久久影院8一贰佰 | av色在线观看 |