PAT最長對稱子串

2021-07-29 11:54:29 字數 867 閱讀 7970

題目鏈結

時間限制

100 ms

記憶體限制

65536 kb

**長度限制

8000 b

判題程式

standard

作者 陳越

對給定的字串,本題要求你輸出最長對稱子串的長度。例如,給定"is pat&tap symmetric?",最長對稱子串為"s pat&tap s",於是你應該輸出11。

輸入格式:

輸入在一行中給出長度不超過1000的非空字串。

輸出格式:

在一行中輸出最長對稱子串的長度。

輸入樣例:

is pat&tap symmetric?
輸出樣例:11

這個題我開始用了動態規劃的方法來做的,就是把求最大公共子串行的**做了下變形,乙個字串是原字串,另乙個是將原字串倒過來,求最大公共子串行的長度,但其實這樣寫還是有問題的,字串和子串行的概念是不一樣的

下面就來說說求最長對稱字串應該怎麼做吧

我找了一篇講的比較詳細的部落格最長對稱子串解法

#include#include#include#includeusing namespace std;

int main()

maxn=temp>maxn?temp:maxn;

//對稱字串的個數為偶數

temp=0;

for(j=1;j=len||a[i-j+1]!=a[i+j])

break;

temp+=2;

}maxn=temp>maxn?temp:maxn;

}cout<

pat 最長對稱子串

時間限制 100 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 陳越 對給定的字串,本題要求你輸出最長對稱子串的長度。例如,給定 is pat tap symmetric?最長對稱子串為 s pat tap s 於是你應該輸出11。輸入格式 輸入在一行...

最長對稱子串

對於任何乙個位置i,當對稱的陣列是乙個奇數時,對稱的個數初始就為1,然後以i為原點向外比較i j和i j,如果i j和i j相等,則對稱的個數 2,如果不相等就立刻跳出迴圈。當對稱的陣列是乙個偶數時,對於陣列中任意乙個位置i的字母而言只需從i開始,往兩邊走,判斷i j 1和i j是否是相等的,如果相...

最長對稱子串

對給定的字串,本題要求你輸出最長對稱子串的長度。例如,給定is pat tap symmetric?最長對稱子串為s pat tap s,於是你應該輸出11。輸入格式 輸入在一行中給出長度不超過1000的非空字串。輸出格式 在一行中輸出最長對稱子串的長度。輸入樣例 is pat tap symmet...