hdu 4632 Palindrome subsequence

来源:互联网 发布:金蝶数据库可以恢复吗 编辑:程序博客网 时间:2024/06/07 04:43

简单区间dp,记忆化搜索差点TLE 。 =. =


#include<stdio.h>#include<string.h>#include<map>#include<math.h>#include<algorithm>using namespace std;#define rep(i,s,t) for(int i=s;i<t;i++)const int mod=10007;int t;char s[1001];int dp[1001][1001];inline int dfs(int i,int j){    if(j<i) return dp[i][j]=0;    if(i==j) return dp[i][j]=1;    if(dp[i][j]!=-1) return dp[i][j];    int ans=0;    ans+=dfs(i+1,j)+dfs(i,j-1)-dfs(i+1,j-1);    ans=(ans+mod)%mod;    if(s[i]==s[j]){        ans+=dfs(i+1,j-1)+1;    }    return dp[i][j]=ans%mod;}int main(){    scanf("%d",&t);    rep(i,1,t+1){        scanf("%s",s);        memset(dp,-1,sizeof(dp));        printf("Case %d: %d\n",i,dfs(0,strlen(s)-1));    }    return 0;}


0 0
原创粉丝点击