noi 2 6 8471 切割回文(DP)

2022-07-23 02:12:09 字數 549 閱讀 6479

題意:給乙個字串,問至少切割幾次使每子串都是回文的。

解法:f[i]表示前i個字元至少需要切割幾次,預處理p[i][j]表示子串s[i]~s[j]是否為回文串。o(n^2)

另外,這題也類似「山區建小學」,可以列舉每個回文串的中心。但稍微麻煩一點。

1 #include2 #include3 #include4 #include5

using

namespace

std;67

#define n 1010

8char

s[n];

9int

p[n][n],f[n];

1011

int mmin(int x,int y)

1213

intmain()

1429 f[0]=-1;30

for (int i=1;i<=l;i++)

3136 printf("

%d\n

",f[l]);37}

38return0;

39 }

openjudge 切割回文

描述 阿福最近對回文串產生了非常濃厚的興趣。如果乙個字串從左往右看和從右往左看完全相同的話,那麼就認為這個串是乙個回文串。例如,abcaacba 是乙個回文串,abcaaba 則不是乙個回文串。阿福現在強迫症發作,看到什麼字串都想要把它變成回文的。阿福可以通過切割字串,使得切割完之後得到的子串都是回...

openjudge 切割回文

總時間限制 1000ms 記憶體限制 65536kb 描述 阿福最近對回文串產生了非常濃厚的興趣。如果乙個字串從左往右看和從右往左看完全相同的話,那麼就認為這個串是乙個回文串。例如,abcaacba 是乙個回文串,abcaaba 則不是乙個回文串。阿福現在強迫症發作,看到什麼字串都想要把它變成回文的...

poj 8471 切割回文 dp 維度壓縮

poj 8471 切割回文 dp 維度壓縮 總時間限制 1000ms 記憶體限制 65536kb 描述 阿福最近對回文串產生了非常濃厚的興趣。如果乙個字串從左往右看和從右往左看完全相同的話,那麼就認為這個串是乙個回文串。例如,abcaacba 是乙個回文串,abcaaba 則不是乙個回文串。阿福現在...