回文子串對 擴充套件kmp kmp與回文子串

2021-06-13 03:08:38 字數 1119 閱讀 4482

problem 1 回文子串對(manacher.cpp/c/pas)

【題目描述】

給定一長度為n的小寫字母串,求有多少對回文子串,它們的交集非空。

一對回文子串的交集非空:[a,b]、[c,d](a≠c或b≠d)為2個回文子串,且[a,b]∩[c,d]≠∅。

【輸入格式】

第一行乙個整數n表示串長。

第二行長度為n的小寫字母串。

【輸出格式】

輸出乙個整數表示答案,答案對1000000007取模。

【樣例輸入】

babb

【樣例輸出】

【資料範圍】

對於30%的資料,n<=1000

另有10%的資料,串裡僅含一種字母。

對於100%的資料,n<=2*10^6

找到最前面的max(r[j]+j),對映過去

設r[i]表示以i點為中心點的最長回文子串

則如圖:

34 回文子串

總時間限制 1000ms 記憶體限制 65536kb 描述 給定乙個字串,輸出所有長度至少為2的回文子串。回文子串即從左往右輸出和從右往左輸出結果是一樣的字串,比如 abba,cccdeedccc都是回文字串。輸入乙個字串,由字母或數字組成。長度500以內。輸出輸出所有的回文子串,每個子串一行。子串...

34 回文子串

34 回文子串 檢視 提交 統計 提問 總時間限制 1000ms 記憶體限制 65536kb 描述給定乙個字串,輸出所有長度至少為2的回文子串。回文子串即從左往右輸出和從右往左輸出結果是一樣的字串,比如 abba,cccdeedccc都是回文字串。輸入乙個字串,由字母或數字組成。長度500以內。輸出...

647 回文子串

給定乙個字串,你的任務是計算這個字串中有多少個回文子串。具有不同開始位置或結束位置的子串,即使是由相同的字元組成,也會被計為是不同的子串。示例 1 輸入 abc 輸出 3 解釋 三個回文子串 a b c 示例 2 輸入 aaa 輸出 6 說明 6個回文子串 a a a aa aa aaa 分析 關鍵...