最大回文子串行數

2021-07-02 03:56:11 字數 1036 閱讀 1164

time limit : 1000ms

memory limit : 65536k

description

給定字串,求它的回文子串行個數。回文子串行反轉字元順序後仍然與原序列相同。

例如字串aba中,回文子串行為」a」, 「a」, 「aa」, 「b」, 「aba」,共5個。內容相同位置不同的子串行算不同的子串行。

input

第一行乙個整數t,表示資料組數。之後是t組資料,每組資料為一行字串。

output

對於每組資料輸出一行,格式為」case #x: y」,x代表資料編號(從1開始),y為答案。答案對100007取模。

sample_input

5 aba

abcbaddabcba

12111112351121

ccccccc

fdadfa

sample_output

case #1: 5

case #2: 277

case #3: 1333

case #4: 127

case #5: 17

hint

source

dp:

#include 

#include

#include

using

namespace

std;

int dp[1010][1010];

char str[1010];

int len;

void solve(int s,int e)

if(str[e]==str[s])

dp[s][e]=dp[s][e-1]+dp[s+1][e]+1;

else dp[s][e]=dp[s][e-1]+dp[s+1][e]-dp[s+1][e-1];

dp[s][e]+=100007;

dp[s][e]%=100007;

}int main()

return

0;}

最大回文子串行 最大回文子串

最大回文子串行,例如cafgfkc,最大回文子串行cfgfc,輸出5。子串行相當於刪除某些位置上的字元後形成的序列。最大回文子串,例如cafgfkc,最大回文子串fgf,輸出3。子串相當於擷取start位到end位的子串。試過沒認真看題目,原題是求子序列,想當然以為求子串,直接高高興興用manach...

最長回文子串行 回文子串行個數

主要內容 1 什麼是回文?2 字元子串和字元子串行的區別 3 最長回文子串行的思路和 4 回文子串行個數的思路和 回文指的是正讀和反讀都一樣的字串,如aba,abba等 字元字串指的是字串中連續的n個字元 如palindrome中,pa,alind,drome等都屬於它的字串 而字元子串行指的是字串...

動態規劃解最大回文子串行

子串和子串行有區別,子串是連續的,子串行不一定連續。例如字串 bdsdksldjfkdls 它的乙個子串為 dsdk 它的乙個子串行為 bdklj 1,2,5,7,9 一 刻畫最優解的結構特徵 假設序列為a,從a i 到a j 所包含的最大回文子串行的字元數為c i,j 則所求的就是c i,j 第一...