字串演算法總結 模板

2021-09-23 10:08:23 字數 661 閱讀 8402

目錄

kmp模式匹配演算法

manacher最長回文子串演算法

給出長度n的主串和長度m的模式串進行模式匹配,複雜度o(n+m)

預處理出失敗指標(最長公共前字尾),進行平攤為o(1)的轉移

int nxt[maxn];

void build_next(char *s)

if(s[j+1]==s[i])

nxt[i] = j; }}

void kmp(char *t,char *p)

if(t[i]==p[j+1])

if(j==lb)

}}

給定長度為n的字串,o(n)的複雜度找到其最長回文子串的長度

利用之前已找出的回文串的長度,先確定一部分的回文串長度,然後在這個基礎上延伸

char s[maxn],str[maxn];

int n,len[maxn]; // 以i為中心的最長回文串的半徑

void init()

ans = max(ans,len[i]);

} return ans - 1;

}

字串 演算法總結

1.字串的複製 char scopy char str1,const char str2 int main char scopy char str1,const char str2 str1 j 0 return str1 2.字串的回文 判斷字串是否是回文 include include usin...

字串演算法總結

易犯錯誤 1 a c a 輸入的是大寫 a c減成了小寫 a 導致陣列的下標越界,程式執行時發生段錯誤 2 由字串轉換為數字時只有當字元是一位的時候才可以直接 0 如 11 就不可以直接 0 3 由數字轉化為字串時也要注意是否是一位的,如11就不可以直接用 0 轉化 4 審題不細,漏輸出,漏條件 問...

模板 字串演算法 字串最小表示法

2014年10月,剛進hdu參加新生賽的時候,就遇到了字串最小表示法的裸題,然而那時什麼都不會的我只得寫暴力,自然tle了。之後在 湖南師範大學第六屆大學生計算機程式設計競賽2b 上,又做到了同樣的裸題。字串演算法 字串最小表示法模板 這是乙個可以用o n 時間解決 字串呈環狀,每一位置都可以作為首...