HDU4632 Palindrome subsequence
标签(空格分隔): 区间qp
Palindrome subsequence
\]
少废话,上代码。
#include<bits/stdc++.h> //头文件没有什么问题
using namespace std; //名字空间没有什么问题
const int maxn = 1000 +5; // 字符串的最大长度
const int mod = 10007;//题目规定的模数
int n,cnt;//n:有多少个字符串,cnt:记录当前有多少个case
char s[maxn];//字符数组没有什么问题
int dp[maxn][maxn];//dp[i,j]代表[i,j]中有多少个Palindrome subsequence
int main(){
while(~scanf("%d",&n)){
while(n--){
memset(dp,0,sizeof(dp));
//置0好习惯!
scanf("%s",s);
//输入没有什么问题
int len = strlen(s);
//取字符串长度len
for(int i=0;i<len;i++)
dp[i][i]=1;
//每个字符都是一个Palindrome subsequence
for(int tail=0;tail<len;tail++){
//枚举尾
for(int head=tail-1;head>=0;head--){
//枚举头,因为头是从后往前推的,所以不会有问题
dp[head][tail]=(dp[head+1][tail]+dp[head][tail-1]-dp[head+1][tail-1]+mod)%mod;
//dp[h,t] = dp[h,t-1] + dp[h+1,t] - dp[h+1, t-1],注意取模!<这一步用到了容斥原理>
if(s[tail]==s[head])
dp[head][tail]=(dp[head][tail]+dp[head+1][tail-1]+1+mod)%mod;
//如果都为相等,则dp[h+1,t-1]中的每个回文子序列都可以增长一个
//eg. 1 234 1 , 就可以多出来121,131,141.
}
}
printf("Case %d: %d\n",++cnt,dp[0][len-1]);
//输出
}
}
return 0;
//happy end
}
HDU4632 Palindrome subsequence的更多相关文章
- 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 ...
- hdu4632 Palindrome subsequence 回文子序列个数 区间dp
Palindrome subsequence Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65535 K (Java/ ...
- hdu4632 Palindrome subsequence (区间dp)
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=4632 题意:求回文串子串的的个数. 思路:看转移方程就能理解了. dp[i][j] 表示区 ...
- 【HDU4632 Palindrome subsequence】区间dp
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4632 题意:给你一个序列,问你该序列中有多少个回文串子序列,可以不连续. 思路:dp[i][j]表示序 ...
- hdu4632 Palindrome subsequence ——区间动态规划
link:http://acm.hdu.edu.cn/showproblem.php?pid=4632 refer to: o(╯□╰)o……明明百度找的题解,然后后来就找不到我看的那份了,这位哥们对 ...
- hdu-4632 Palindrome subsequence (回文子序列计数)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4632 问题要求回答一串字符串中回文子序列的数量,例如acbca就有 a,c,b,c,a,cc,aa,a ...
- Palindrome subsequence
Palindrome subsequence Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65535 K (Java/ ...
- HDU 4632 Palindrome subsequence (区间DP)
Palindrome subsequence Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65535 K (Java/ ...
- HDU Palindrome subsequence(区间DP)
Palindrome subsequence Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65535 K (Java/Oth ...
随机推荐
- zookeeper在Dubbo中角色与作用
作者:倪炜链接:http://www.zhihu.com/question/25070185/answer/86166486来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处 ...
- Docker学习笔记之--安装mssql(Sql Server)并使用Navicat连接测试(环境:centos7)
前一节演示如何使用Nginx反向代理 .net Core项目容器,地址:Docker学习笔记之-部署.Net Core 3.1项目到Docker容器,并使用Nginx反向代理(CentOS7)(二) ...
- 【源码】spring生命周期
一.spring生命周期 1. 实例化Bean 对于BeanFactory容器,当客户向容器请求一个尚未初始化的bean时,或初始化bean的时候需要注入另一个尚未初始化的依赖时,容器就会调用crea ...
- RestfulApi 学习笔记——简单介绍(一)
前言 什么是restapi? 直接看:http://www.ruanyifeng.com/blog/2014/05/restful_api.html 阮一峰的blog,即可明白,下面是一些例子,增强理 ...
- 云计算之路-出海记:蹭一张 aws 船票
出海记开篇之后,在 aws 上搭建博客园海外站的出海计划今天开始迈出第一步 -- 注册一个 aws 海外区域账号. aws 现在针对新注册用户提供12个月免费套餐(正在园子里推广并提供了专属注册通道) ...
- TCP连接性能指标之TCP关闭过程(四次挥手)
TCP关闭过程(四次挥手): ESTABLISHED: 当前建立连接状态 CLOSE_WAIT:Server端收到来自Client端的FIN包后,发送ACK回Client端,进入CLOSE_WAIT ...
- uniapp微信小程序获取当前用户手机号码(前端)
按钮触发获取用户信息 uniapp中与微信小程序官网所写会不同, <button open-type="getPhoneNumber" @getphonenumber=&qu ...
- ZOJ 1004 Anagrams by Stack
Anagrams by Stack 题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1004 题意:通过堆栈实现将一 ...
- Docker(9)- docker pull 命令详解
如果你还想从头学起 Docker,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1870863.html 作用 从镜像仓库中拉取或更新镜像 ...
- sqlserver with(NOLOCK) 或 with(READPAST)
https://blog.csdn.net/shuicaohui5/article/details/6758868