程式設計之美回文字串,DP

2021-07-01 21:48:51 字數 1118 閱讀 9800

時間限制:

2000ms

單點時限:

1000ms

記憶體限制:

256mb

給定字串,求它的回文子串行個數。回文子串行反轉字元順序後仍然與原序列相同。例如字串aba中,回文子串行為"a", "a", "aa", "b", "aba",共5個。內容相同位置不同的子串行算不同的子串行。

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

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

1 ≤ t ≤ 30

小資料字串長度 ≤ 25

大資料字串長度 ≤ 1000

樣例輸入

5

abaabcbaddabcba

12111112351121

ccccccc

fdadfa

樣例輸出

case #1: 5

case #2: 277

case #3: 1333

case #4: 127

case #5: 17

這題看了好久,始終沒思路,最後發現是dp,暫時理解不了,先放著,**:

#include #include #include #include using namespace std;

char a[1005];

const int inf = 100007;

int num[1005];

int dp[1005][1005];

int main()

else

} memset(dp,0,sizeof(dp));

for(int d = 0;d < len;d++)

else

//printf("a %d\n",dp[s][e-1]);

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

// printf("%d\n",dp[s][en]);}}

} printf("case #%d: %d\n",q,dp[0][len-1]);

}

2015程式設計之美 回文字元序列 區間Dp

給定字串,求它的回文子串行個數。回文子串行反轉字元順序後仍然與原序列相同。例如字串aba中,回文子串行為 a a aa b aba 共5個。內容相同位置不同的子串行算不同的子串行。第一行乙個整數t,表示資料組數。之後是t組資料,每組資料為一行字串。對於每組資料輸出一行,格式為 case x y x代...

程式設計之美 回文字元序列

時間限制 2000ms 單點時限 1000ms 記憶體限制 256mb 給定字串,求它的回文子串行個數。回文子串行反轉字元順序後仍然與原序列相同。例如字串aba中,回文子串行為 a a aa b aba 共5個。內容相同位置不同的子串行算不同的子串行。第一行乙個整數t,表示資料組數。之後是t組資料,...

程式設計之美挑戰賽 回文字元序列(區間dp)

給定字串,求它的回文子串行個數。回文子串行反轉字元順序後仍然與原序列相同。例如字串aba中,回文子串行為 a a aa b aba 共5個。內容相同位置不同的子串行算不同的子串行。第一行乙個整數t,表示資料組數。之後是t組資料,每組資料為一行字串。對於每組資料輸出一行,格式為 case x y x代...