codeforces.contest/835/problem/D Palindromic characteristics (记忆化搜索)
来源:互联网 发布:天地诸神光翼进阶数据 编辑:程序博客网 时间:2024/05/21 23:13
一开始用STL T了,这题带有结构性质,所以可以用记忆化搜索,预处理任意两个区间是否是合法(双向搜索),想不到这个预处理就很伤
#include<iostream>#include<algorithm>#include<cstdio>#include<cstdlib>#include<cstring>#include<string>#include<vector>#include<cmath>#include<queue>#include <bits/stdc++.h>using namespace std;const int N = 5000+7;typedef long long LL;const LL mod = 1e9+7;char str[N];int a[N][N], dp[N][N], ans[N];int dfs(int l,int r){ if(l>r) return 0; int len=(r-l+1)/2; if(dp[l][r]!=-1) return dp[l][r]; if(!a[l][r]) return dp[l][r]=0; return dp[l][r]=dfs(l,l+len-1)+1;}int main(){ scanf("%s",str); int len=strlen(str); memset(dp,-1,sizeof(dp)); memset(a,0,sizeof(a)); memset(ans,0,sizeof(ans)); for(int i=0;i<len;i++) { for(int j=i, k=i;j>=0&&k<len;k++,j--) { if(str[j]==str[k]) a[j][k]=1; else break; } for(int j=i, k=i+1;j>=0&&k<len;k++,j--) { if(str[j]==str[k]) a[j][k]=1; else break; } } for(int i=0;i<len;i++) { for(int j=i;j<len;j++) { dp[i][j]=dfs(i,j); ans[dp[i][j]]++; } } for(int i=len;i>=1;i--) ans[i]+=ans[i+1]; for(int i=1;i<=len;i++) printf("%d%c",ans[i],i==len?'\n':' '); return 0;}
阅读全文
0 0
- codeforces.contest/835/problem/D Palindromic characteristics (记忆化搜索)
- Codeforces 835D-Palindromic characteristics
- Codeforces 835 D Palindromic characteristics(区间DP)
- Codeforces #835D: Palindromic characteristics 题解
- Codeforces 835 D Palindromic characteristics 区间dp
- Codeforces 835D Palindromic characteristics【区间Dp】
- 【Codeforces 835 D. Palindromic characteristics】& 思维
- Codeforces 427Div2 D、835D Palindromic characteristics
- Codeforces Problem 333D. Characteristics of Rectangles
- Codeforces 835D Round #427 D-Palindromic characteristics—— DP+回文串
- 【回文串】835D Palindromic characteristics
- Codeforces Round #427 (Div. 2)D. Palindromic characteristics(DP+回文串)
- Codeforces Round #427 (Div. 2) D-Palindromic characteristics (回文串,暴力)
- Codeforces Round #427 (Div. 2) D. Palindromic characteristics dp
- Codeforces Round #427 (Div. 2) D.Palindromic characteristics
- CF 835D D. Palindromic characteristics 字符串hash
- Codeforces 401D Roman and Numbers(记忆化搜索)
- Codeforces #337(Div.2)D. Zuma【记忆化搜索】
- Vert.x学习之json
- ASP.NET – Hashtable 对象
- CSS样式表及常用属性
- uva 10673 exgcd
- linux kernel对于浮点运算的支持
- codeforces.contest/835/problem/D Palindromic characteristics (记忆化搜索)
- Linux/Windows下 C/C++开发的差异zz
- 两对缓冲流 BufferedInputStream BufferedOutputStream 和 BufferedReader BufferedWriter
- 新手学C++多线程编程(6)合作与同步
- [android]提取系统应用(odex合并到apk)
- 基于A-Frame 框架实现的移动端VR视频播放(可感知手机重力感应)
- boot中jar包部署的方式读取classes下的文件
- ffmpeg将视频文件发布为RTSP流推送的命令
- 永硕E盘