题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4632

题意:给你一个序列,问你该序列中有多少个回文串子序列,可以不连续。

思路:dp[i][j]表示序列i到j中具有的回文串序列数。

当s[i]==s[j], dp[i][j]=dp[i+1][j]+dp[i][j-1]+1

否则 dp[i][j]=dp[i+1][j]+dp[i][j-1]-dp[i+1][j-1];

 #include <iostream>
#include <cstdio>
#include <cstring>
#include <vector>
#include <queue>
#include <algorithm>
using namespace std; const int maxn=;
const int mod=;
int dp[maxn][maxn];
char s[maxn]; int main()
{
int T, tcase=;
cin >> T;
while(T--)
{
scanf("%s",s+);
int len=strlen(s+);
memset(dp,,sizeof(dp));
for(int i=; i<=len; i++) dp[i][i]=;
for(int k=; k<len; k++)
for(int i=; i+k<=len; i++)
{
int j=i+k;
if(s[i]==s[j])
{
if(k==) dp[i][j]=;
else dp[i][j]=(dp[i+][j]+dp[i][j-]+)%mod;;
}
else dp[i][j]=(dp[i+][j]+dp[i][j-]-dp[i+][j-]+mod)%mod;;
}
printf("Case %d: %d\n",++tcase,dp[][len]%mod);
}
return ;
}

【HDU4632 Palindrome subsequence】区间dp的更多相关文章

  1. hdu4632 Palindrome subsequence (区间dp)

    题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=4632 题意:求回文串子串的的个数. 思路:看转移方程就能理解了. dp[i][j] 表示区 ...

  2. HDU4632:Palindrome subsequence(区间DP)

    Problem Description In mathematics, a subsequence is a sequence that can be derived from another seq ...

  3. HDU 4632 Palindrome subsequence(区间dp,回文串,字符处理)

    题目 参考自博客:http://blog.csdn.net/u011498819/article/details/38356675 题意:查找这样的子回文字符串(未必连续,但是有从左向右的顺序)个数. ...

  4. HDU 4632 Palindrome subsequence (区间DP)

    题意 给定一个字符串,问有多少个回文子串(两个子串可以一样). 思路 注意到任意一个回文子序列收尾两个字符一定是相同的,于是可以区间dp,用dp[i][j]表示原字符串中[i,j]位置中出现的回文子序 ...

  5. [HDU4362] Palindrome subsequence (区间DP)

    题目链接 题目大意 给你几个字符串 (1<len(s)<1000) ,要你求每个字符串的回文序列个数.对于10008取模. Solution 区间DP. 比较典型的例题. 状态定义: 令 ...

  6. hdu4632 Palindrome subsequence ——区间动态规划

    link:http://acm.hdu.edu.cn/showproblem.php?pid=4632 refer to: o(╯□╰)o……明明百度找的题解,然后后来就找不到我看的那份了,这位哥们对 ...

  7. HDU 4632 Palindrome subsequence(区间DP求回文子序列数)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4632 题目大意:给你若干个字符串,回答每个字符串有多少个回文子序列(可以不连续的子串).解题思路: 设 ...

  8. hdu4632 Palindrome subsequence 回文子序列个数 区间dp

    Palindrome subsequence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65535 K (Java/ ...

  9. Hdu4632 Palindrome subsequence 2017-01-16 11:14 51人阅读 评论(0) 收藏

    Palindrome subsequence Problem Description In mathematics, a subsequence is a sequence that can be d ...

  10. HDU4632 Palindrome subsequence

    标签(空格分隔): 区间qp Palindrome subsequence \[求一个string的 回文子序列 的个数 \] 少废话,上代码. #include<bits/stdc++.h&g ...

随机推荐

  1. 【SQL 触发器】

    一.MySQL上触发器的使用 示例: CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW t ...

  2. CSS3鼠标悬停图片动画

    鼠标放到图片上后: demo地址:demo div: <div class="wai"> <a href="#"> <div cl ...

  3. try catch finally的一些用法

    一:例题: package test; import javax.swing.*; class AboutException { public static void main(String[] a) ...

  4. PHP 使用 OSS 批量上传图片

    <?php set_time_limit(0); // 引入自动加载类// 确保路径是否正确 require_once 'autoload.php'; // 确定参数 需要申请 $accessK ...

  5. js兼容方法:通过样式名获取元素,byClass

    function byClass(oParent,className){ if(document.getElementsByClassName){ //if it is Firefox return ...

  6. 关于ui修改的若干想法

    1.现在发现统一规划好各种xml资源.图片资源还是很重要的. 为什么?因为,很多一些ui设计,比如标题.文字大小.列表的宽高都是统一的, 据我个人理解,一个ui多个部分,如果很多部分都是设计上统一的, ...

  7. Windows 8 系统安装

    系统城  http://www.xitongcheng.com/win8/ 1.  下载 win8: http://msdn.itellyou.cn/2.  准备 4G 以上 U 盘,下载 win8 ...

  8. ural 2068. Game of Nuts

    2068. Game of Nuts Time limit: 1.0 secondMemory limit: 64 MB The war for Westeros is still in proces ...

  9. The 2015 China Collegiate Programming Contest K Game Rooms hdu 5550

    Game Rooms Time Limit: 4000/4000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others)Total ...

  10. SolrCloud-4.10.2源代码启动流程梳理

    SolrCloud-4.10.2源代码 web.xml中filter配置 SolrDispatchFilter <filter-name>SolrRequestFilter</fil ...