UVA - 10617 Again Palindrome
2013-09-19 10:11
393 查看
题意:只通过删除,问可以弄成多少的回文串,跟之前的一题是相似的,对于str[i] = str[j]的情况,如果我们步删除的话dp[i][j] = dp[i+1][j-1] +1,如果删除str[i]的话,dp[i][j] += dp[i+1][j],相似的还有dp[i][j] += dp[i][j-1],除去相同的dp[i+1][j-1],
#include <iostream> #include <cstdio> #include <cstring> using namespace std; const int MAXN = 70; char str[MAXN]; long long dp[MAXN][MAXN]; int main(){ int t; scanf("%d",&t); while (t--){ scanf("%s",str); memset(dp,0,sizeof(dp)); int len = strlen(str); for (int i = 0; i < len; i++) dp[i][i] = 1; for (int i = len - 2; i >= 0; i--) for (int j = i + 1; j < len; j++){ if (str[i] == str[j]) dp[i][j] = dp[i+1][j-1] + 1; dp[i][j] += dp[i+1][j] + dp[i][j-1] - dp[i+1][j-1]; } printf("%lld\n",dp[0][len-1]); } return 0; }
相关文章推荐
- uva 10617 Again Palindrome (DP)
- Uva 10617 Again Palindrome(区间dp)
- UVa 10617 Again Palindrome(回文 区间dp)
- uva 10617 - Again Palindrome(dp)
- UVA 10617 Again Palindrome
- UVa 10617 Again Palindromes / 记忆化搜索
- UVA 10617 Again Palindrome
- UVA - 10617 Again Palindrome——dp
- UVA 10617 Again Palindromes (区间dp)
- UVA 10617 dp 题库210页
- UVA 10617 Again Palindrome
- UVA 10617 Again Palindrome 又是回文 dp,记忆化搜索
- UVA10617- Again Palindrome
- UVa 10617 - Again Palindrome 字符串dp
- Uva 10617 Again Palindrome (区间DP+回文串)
- 记忆化搜索+回文串--UVA 10617 Again Palindrome
- UVa 10617 - Again Palindrome 字符串dp
- uva 10617 - Again Palindrome
- UVA - 10617 Again Palindrome dp计数问题+记忆化
- uva10617 - Again Palindrome(dp)