UVa 11151 - Longest Palindrome 字符串dp
2013-05-04 18:23
393 查看
Write a program to determine the length of the longest palindrome you can get from a string.
For ≥90% of the test cases, string length ≤ 255.
For each input string, your program should print the length of the longest palindrome you can get by removing zero or more characters from it.
Problemsetter: Raymond Chun
---------------
听说有空串,所以必须用gets()
---------------
Input and Output
The first line of input contains an integer T (≤ 60). Each of the next T lines is a string, whose length is always less than 1000.For ≥90% of the test cases, string length ≤ 255.
For each input string, your program should print the length of the longest palindrome you can get by removing zero or more characters from it.
Sample Input
2 ADAM MADAM
Sample Output
3 5
Problemsetter: Raymond Chun
---------------
听说有空串,所以必须用gets()
---------------
#include <iostream> #include <cstdio> #include <cstring> using namespace std; char s[1111]; int f[1111][1111]; int n; int dfs(int l,int r) { if (f[l][r]!=-1) return f[l][r]; if (r-l<1) return 0; int ret=0; if (s[l]==s[r]) { ret=dfs(l+1,r-1); } else { ret=min( dfs(l+1,r), dfs(l,r-1) )+1; } f[l][r]=ret; return ret; } int main() { int T; scanf("%d",&T); getchar(); while (T--) { memset(f,-1,sizeof(f)); //scanf("%s",s+1); gets(s+1); n=strlen(s+1); int ans=dfs(1,n); printf("%d\n",n-ans); } return 0; }
相关文章推荐
- UVa 11151 - Longest Palindrome 字符串dp
- uva 11584 字符串 dp
- UVA 4394 - String painter(字符串区间DP)
- UVa 11151 - Longest Palindrome(区间dp)
- uva 1630 KMP判断周期串 和 区间DP 压缩字符串
- uva 10453 Make Palindrome(区间DP->回文字符串的最小生成)
- UVa 10739 - String to Palindrome 字符串dp
- uva 1630 lrj-P305 字符串dp(记忆化)
- UVa11584Partitioning by Palindromes(字符串区间dp)
- UVa 10739 - String to Palindrome 字符串dp
- UVA - 11584 划分字符串的回文串子串; 简单dp
- Uva 11552 - Fewest Flops 字符串dp
- Uva 11552 - Fewest Flops 字符串dp
- uva_11151 - Longest Palindrome( 普通DP )
- UVA 字符串区间DP
- uva 11151(dp)
- Longest Palindrome - UVa 11151 dp
- UVALive 6257 Chemist's vows 判断一个字符串是否由n中的某些字符串组成 dp
- 【UVA 11584】【简单dp】Partitioning by Palindromes【给定一个字符串, 问最少分为几部分可使各部分均为回文串】
- uva 10453 回文串dp uva 10739 uva 11151最长回文串 poj 3280