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 第一...