HDU-4632-Palindrome subsequence
来源:互联网 发布:淘宝旺铺基础版店招 编辑:程序博客网 时间:2024/05/17 08:24
这个题要求你求出所给字符串中共有多少个回文子串,用动态规划做。
我的动态规划转移方程是
dp[i][j]=max(dp[i][j],dp[i][j-1]+dp[i+1][j]-dp[i+1][j-1])
注意由小区间到大区间进行计算,剩下的就是取余的时候需要注意下
代码:
#include<cstdio>#include<cstring>#include<iostream>using namespace std;const int maxn=1100;const int mod=10007;char str[maxn];int n,dp[maxn][maxn];int main(){ int T,cas=1; scanf("%d",&T); while(T--) {memset(dp,0,sizeof(dp));scanf("%s",str);int n=strlen(str);for(int j=0;j<=n;j++) for(int i=j;i>=0;i--) {dp[i+1][j+1]=max(dp[i+1][j+1],(dp[i+1][j]+dp[i+2][j+1]-dp[i+2][j]+mod)%mod);if(str[i]==str[j]) dp[i+1][j+1]=(dp[i+1][j+1]+1+dp[i+2][j])%mod; }printf("Case %d: %d\n",cas++,dp[1][n]); } return 0;}
- HDU 4632 Palindrome subsequence
- hdu 4632 Palindrome subsequence
- hdu 4632 Palindrome subsequence
- HDU-4632-Palindrome subsequence
- hdu 4632 Palindrome subsequence
- hdu 4632Palindrome subsequence
- hdu 4632 Palindrome subsequence
- hdu-4632 Palindrome subsequence
- hdu 4632 Palindrome subsequence (dp)
- Hdu-4632 Palindrome subsequence DP
- HDU 4632 Palindrome subsequence(区间dp)
- HDU 4632 Palindrome subsequence 解题报告
- hdu 4632 Palindrome subsequence(DP)
- hdu - 4632 - Palindrome subsequence(dp)
- HDU 4632——Palindrome subsequence
- hdu 4632——Palindrome subsequence
- hdu-4632-Palindrome subsequence-记忆化dp
- hdu-4632-Palindrome subsequence DP&回文字串
- 第十四章 类型信息
- UVA 11076 - Add Again
- linux内核中tcp连接的断开处理
- Tomcat中文编码
- 谈30岁后it人员职业发展规划
- HDU-4632-Palindrome subsequence
- 您对孩子说了这六句话了吗?
- HDU 3371 Connect the Cities MST存在已建好的边
- linux内核定时器的实现
- 激励自己
- JAVA读取Excel,建库建表
- qt之文本编辑器
- 内核协议栈tcp层的内存管理
- 主谓宾定状补口诀及练习题