CF835D Palindromic characteristics(dp)
来源:互联网 发布:6s4g网络突然上不了网 编辑:程序博客网 时间:2024/05/22 00:34
题目大意:给你一个串,让你求出k阶回文子串有多少个。k从1到n。k阶子串的定义是:子串本身是回文串,而且它的左半部分也是回文串。首先明确:
1、如果一个字串是k阶回文,那他一定还是k-1阶回文。
2、如果一个串是k阶回文,那么这个串需要满足:
1.它本是是回文的。
2.他的左半部分是k-1回文的。
有点递归的意思。。所以我们采用dp。
dp[i][j]表示子串s[i..j]最大是几阶的,0表示它不是回文。不难得出转移方程:
#include <cstdio>#include <cstring>#define N 5010char s[N];int dp[N][N],ans[N],n;int main(){// freopen("a.in","r",stdin); scanf("%s",s+1); n=strlen(s+1); for(int i=1;i<=n;++i) dp[i][i]=1,ans[1]++; for(int len=2;len<=n;++len) for(int i=1;i+len-1<=n;++i){ int j=i+len-1; if(s[i]!=s[j]||i+1<=j-1&&dp[i+1][j-1]==0) dp[i][j]=0; else dp[i][j]=dp[i][i+len/2-1]+1; if(dp[i][j]) ans[dp[i][j]]++; } for(int i=n;i>=1;--i) ans[i]+=ans[i+1]; for(int i=1;i<=n;++i) printf("%d ",ans[i]); return 0;}
阅读全文
0 0
- CF835D Palindromic characteristics(dp)
- 【XSY2534】【CF835D】Palindromic characteristics 回文自动机
- Codeforces835D-Palindromic characteristics(DP)
- Codeforces 835 D Palindromic characteristics 区间dp
- Codeforces 835D Palindromic characteristics【区间Dp】
- Codeforces Round #427 (Div. 2) D. Palindromic characteristics dp
- Codeforces 835 D Palindromic characteristics(区间DP)
- Codeforces835D Palindromic characteristics
- CF427D(Div2) Palindromic characteristics
- 【Codeforces】Codeforces Round #427 (Div. 2) D. Palindromic characteristics DP回文串
- Codeforces Round #427 (Div. 2)D. Palindromic characteristics(DP+回文串)
- Codeforces 835D Round #427 D-Palindromic characteristics—— DP+回文串
- Codeforces Round #427 (Div. 2) D.Palindromic characteristics【DP、后缀和】
- Codeforces 835D-Palindromic characteristics
- Codeforces #835D: Palindromic characteristics 题解
- 【回文串】835D Palindromic characteristics
- 【Codeforces 835 D. Palindromic characteristics】& 思维
- CF 835D D. Palindromic characteristics 字符串hash
- jQuery选择器文字攻略
- 设计模式之单例模式
- Spring-获取路径
- c++对C语言的扩展(一)
- python篇1_细枝末节
- CF835D Palindromic characteristics(dp)
- HTML5多媒体素材应用
- 作用域链与原型链的区别与联系
- Ubuntu16.04安装mariadb
- Android开发之如何使用Eclipse调试程序
- Object转byte[];byte[]转Object
- 使用vector迭代器的一个现象
- Go TCP网络程序编写
- arm linux 命令行 网易云音乐