LightOJ-1033-区间dp,dfs
来源:互联网 发布:单片机isp是什么意思 编辑:程序博客网 时间:2024/05/16 02:42
题目大意:给定一段字符串,问最少能添加多少个字母使得这个字符串能够成为回文字符串;
题目解析:区间dp,定义dp[i][j]为把区间[i,j]中的字符全部转化为回文字符串所需要的最少次数,那么我们dfs记忆化搜索就好了;
AC代码:
#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<string>using namespace std;const int inf=0x3fffffff;char s[110];int dp[110][110];bool vis[110][110];int dfs(int l,int r){int ans=inf;if(l>=r)return 0;if(vis[l][r])return dp[l][r];if(s[l]==s[r])ans=min(ans,dfs(l+1,r-1));else ans=min(dfs(l+1,r)+1,dfs(l,r-1)+1);vis[l][r]=1;return dp[l][r]=ans;}int main(){int cas,c;scanf("%d",&cas);for(c=1;c<=cas;c++){memset(dp,0,sizeof(dp));memset(vis,0,sizeof(vis));scanf("%s",s+1);printf("Case %d: %d\n",c,dfs(1,strlen(s+1)));}return 0;}
0 0
- LightOJ-1033-区间dp,dfs
- LightOJ-1031-区间dp,dfs
- lightoj 1033 区间dp
- lightoj 1033 区间dp
- lightoj 1033【区间DP/LCS】
- LightOJ 1033 - Generating Palindromes 【区间DP】
- LightOJ - 1033 Generating Palindromes(区间DP)
- LightOJ 1033 - Generating Palindromes (区间dp)
- lightoj 1033 - Generating Palindromes LCSor区间DP
- lightoj 1033 - Generating Palindromes(区间dp)
- lightoj 1422 区间DP
- Lightoj 1031 区间DP
- lightoj 1422 区间dp
- Lightoj 1422 区间dp
- LightOJ 1422 区间dp
- Lightoj 1422(区间dp)
- Lightoj 1031(区间dp)
- lightoj 1031【区间DP】
- 第八周 字符串加密
- CMake 常用命令解析
- 1613-3-傅溥衍 总结《2016年10月21日》【连续第二十一天总结】
- Python django模板
- 网站发布时的问题记录
- LightOJ-1033-区间dp,dfs
- Ubuntu16.04安装VMvare问题
- 控制unity对象下所有子物体的显示状态
- fopen和fopen_s用法的比较
- 第11章 网络编程
- 第八周项目五(计数的模式匹配)
- MyComponent
- Java变量类型识别的3种方式
- Oracle 数据库安装要点总结