L2 008 最長對稱子串 25 分

2021-10-20 11:06:41 字數 988 閱讀 8407

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

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

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

is pat&tap symmetric?
11
開始想複雜了,還想用dp做,其實1000的範圍暴力就行了。枚舉子字串的端點 i,j

i, j

i,j ,並判斷該子串是否是回文,最後取 max

(j−i

)max(j - i)

max(j−

i)即可。

#include

#define inf 0x3f3f3f3f

#define pi acos(-1)

using

namespace std;

typedef pair<

int,

int> p;

typedef

long

long ll;

const

int n =

1e3+19;

const ll mod =

1e9+7;

char str[n]

;int dp[n]

[n];

int n;

boolok(

int x,

int y)

}return1;

}int

main()

str[n]=0

;int ans =1;

for(

int i =

0; i < n; i++)}

} cout << ans << endl;

return0;

}

L2 008 最長對稱子串 (25 分)

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

L2 008 最長對稱子串 25 分

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

天梯賽L2 008 最長對稱子串 25 分

本來是打算用string做的,但不知道為什麼一直做不對 for size t i buf.length i 0 i for size t j 0 j i buf.length j if i 2 else 這一條的思路是利用str可以直接匹配的優勢,結合reverse可以判斷回文 進一步,i代表最大回...