思路:设dp[i][j]表示区间[i,j]的回文串的个数,那么有dp[i][j] = dp[j+1][i] + dp[j][i-1] - dp[j+1][i-1],如果str[i] == str[j],那么dp[i][j]还要加上dp[j+1][i-1] + 1;

#include<iostream>
#include<cstdio>
#include<cstring>
#define MAX 1010
#define MOD 10007
using namespace std;
int dp[MAX][MAX];
char str[MAX];
int main(){int T, cnt = 0;//freopen("in.c", "r", stdin);scanf("%d", &T);while(T--){memset(str, 0, sizeof(str));memset(dp, 0, sizeof(dp));scanf("%s", str);int len = strlen(str);for(int i = 0; i< len;i ++) dp[i][i] = 1;for(int i = 0;i < len;i ++){for(int j = i-1;j >= 0;j --){dp[j][i] = (dp[j][i-1] + dp[j+1][i] - dp[j+1][i-1] + MOD)%MOD;if(str[i] == str[j]) dp[j][i] = (dp[j][i] + dp[j+1][i-1] + 1 + MOD)%MOD;}}printf("Case %d: %d\n", ++cnt, dp[0][len-1]);}return 0;
}

转载于:https://www.cnblogs.com/wangzhili/p/3950297.html

HDOJ 4632相关推荐

  1. 并查集 HDOJ 1232 畅通工程

    题目传送门 1 /* 2 并查集(Union-Find)裸题 3 并查集三个函数:初始化Init,寻找根节点Find,连通Union 4 考察:连通边数问题 5 */ 6 #include <c ...

  2. 【HDOJ 3652】B-number

    [HDOJ 3652]B-number 给一整数n 找<=n的整数中能被13整除且含有13的 数位dp 记忆化! . 一入记忆化深似海. ..再也不想用递推了...发现真的非常好想 仅仅要保证满 ...

  3. 【HDOJ】4343 Interval query

    最大不相交集合的数量. 思路是dp[i][j]表示已经有i个不相交集合下一个不相交集合的最右边界. 离散化后,通过贪心解. 1 /* 4343 */ 2 #include <iostream&g ...

  4. 【HDOJ】4579 Random Walk

    1. 题目描述 一个人沿着一条长度为n个链行走,给出了每秒钟由i到j的概率($i,j \in [1,n]$).求从1开始走到n个时间的期望. 2. 基本思路 显然是个DP.公式推导也相当容易.不妨设$ ...

  5. AC自动机 HDOJ 5384 Danganronpa

    题目传送门 1 /* 2 题意:多个文本串,多个模式串在每个文本串出现的次数 3 AC自动机:这就是一道模板题,杭电有道类似的题目 4 */ 5 /************************** ...

  6. 构造 HDOJ 5400 Arithmetic Sequence

    题目传送门 题意:问有多少个区间,其中存在j使得ai + d1 == ai+1(i<j) && ai + d2 == ai+1 (i>j) 构造:用c1[i], c2[i] ...

  7. Kruskal HDOJ 1233 还是畅通工程

    题目传送门 1 /* 2 最小生成树之kruskal算法--并查集(数据结构)实现 3 建立一个结构体,记录两点和它们的距离,依照距离升序排序 4 不连通就累加距离,即为最小生成树的长度 5 */ 6 ...

  8. HDOJ 5373 The shortest problem 【数论】

    HDOJ 5373 The shortest problem [数论] 题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=5373 题目给一个初始数据和重复 ...

  9. AC解 - Phone List(HDOJ#1671) 前缀树的一个应用

    原题:http://acm.hdu.edu.cn/showproblem.php?pid=1671 Time Limit: 3000/1000 MS (Java/Others)    Memory L ...

最新文章

  1. lly dependent on columns in GROUP BY clause; this is incompatible with sql_m
  2. vs2013配置opencv2.4.9
  3. Geany整体增加减少缩进快捷键
  4. Grails精华:使用Groovy SQL
  5. 找钢网王东:3年赚900亿他是怎么做到的?
  6. 蓝牙 sig base uuid_蓝牙模块采用陶瓷天线和PCB天线的区别
  7. Django补充知识点——用户管理
  8. 草稿 断开式绑定combobox
  9. bzoj 1079: [SCOI2008]着色方案
  10. 机器学习实战(四)逻辑回归LR(Logistic Regression)
  11. java 方法 时间_Java 方法
  12. Mysql的master,slave的配置
  13. Python使用sftp实现上传和下载功能(实例代码)
  14. matplotlib 中设置图形大小
  15. 网站被黑该怎么处理和解决
  16. Windows10下设置电脑屏幕仅显示黑白
  17. 强化学习《蘑菇书 EasyRL第一章 概览》
  18. 淘宝代购系统、海外代购系统、代购小程序、APP的开发以及源码PHP前端源码
  19. Chat-REC、InstructRec(LLM大模型用于推荐系统)
  20. k8s 二进制集群部署

热门文章

  1. (笔记)Mysql命令create table:创建数据表
  2. github【如何删除一个repository(仓库)】
  3. CGAffineTransform 获取 旋转的弧度 和 角度 的方法
  4. 企业网站的生命周期到底有多长 如何能够持续性发展下去
  5. iCloud5_Building and Running Your App
  6. 《Queue,Stack,SortedList》---集合
  7. sql server中case的简单示例
  8. PCA图像转正C++
  9. TCP_IP Sockets编程C语言实现第2版 源码下载
  10. 深度学习在推断阶段(inference)的硬件实现方法概述