NYOJ_37_回文字符串
首先,我们把字符串反转,然后用反串和原串求最大公共子序列,再用字符串长度减去最大公共子序列的长度就是答案,我们还可以用滚动数组优化内存
状态转移方程:
(i长度的a串和j长度的b串的最长公共子序列长度)
1.dp[i-1][j-1]+1 a[i]=b[j]
dp[i][j]=
2.max(dp[i][j-1],dp[i-1][j]) a[i]!=b[j]
#include<iostream> #include<cstdio> #include<algorithm> #include<cmath> #include<cstring> #include<string> using namespace std; int re[2][1005];//使用滚动数组优化了空间 int main() {int t,i,j;string a,b;scanf("%d",&t);while(t--){cin>>a;b=a;reverse(a.begin(),a.end());memset(re,0,sizeof(re));for(i=0;i<a.length();++i)for(j=0;j<b.length();++j){if(a[i]==b[j]){re[(i+1)&1][j+1]=re[i&1][j]+1;}else re[(i+1)&1][j+1]=re[i&1][j+1]>re[(i+1)&1][j]?re[i&1][j+1]:re[(i+1)&1][j];//条件表达式是最省时间的 }printf("%d\n",a.length()-re[(a.length())&1][b.length()]);}return 0; }
转载于:https://www.cnblogs.com/A-way/archive/2013/05/02/3054423.html
NYOJ_37_回文字符串相关推荐
- C语言判断回文字符串
C语言判断回文字符串 #include<stdio.h> char *huiwen(char *str){int i, j,t=0;for(i = 0,j = strlen(str) - ...
- NYOJ 回文字符串
回文字符串 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的,比如"aba".当然, ...
- java判断回文字符串几种简单的实现
11年it研发经验,从一个会计转行为算法工程师,学过C#,c++,java,android,php,go,js,python,CNN神经网络,四千多篇博文,三千多篇原创,只为与你分享,共同成长,一起进 ...
- 题目1192:回文字符串
题目描述: 给出一个长度不超过1000的字符串,判断它是不是回文(顺读,逆读均相同)的. 输入: 输入包括一行字符串,其长度不超过1000. 输出: 可能有多组测试数据,对于每组数据,如果是回文字符串 ...
- 51nod 1092 回文字符串
基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题 收藏 关注 回文串是指aba.abba.cccbccc.aaaa这种左右对称的字符串.每个字符串都可以通过向中间 ...
- 判断字符串_python实现--判断回文字符串、回文链表、回文数
所谓回文字符串,就是正读和反读都一样的字符串,比如"level"或者"noon"等等就是回文串.即是对称结构Python系列教程,免费获取,遇到bug及时反馈, ...
- Palindrome(插入字符变成回文字符串)
题目:给定一个字符串,问最少插入多少字符,使字符串变成回文字符串. 思路:X:原字符串 Y:逆字符串 需要插入的字符数=X的长度-(X与Y的LCS的长度) 这里使用了滚动数组,压缩空间,原因: ...
- codevs1520 回文字符串
题解 题目描述 Description 所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的,比如: aba kllkllk tyyt 都是. 当然,我们给你的问题不会再简单到判断一个字 ...
- 回文字符串啊~---太搞了 少年 DXH
点击打开链接 j几天比赛了刚好出现了回文字符串,记得不要喝公共自序列区分啊,回文就是从前到后看是一样的,从后往前看也是一样的, 这道题的思路就是先找出本串中自有的回文串,然后再加上不是回文的剩下的子串 ...
最新文章
- 全局负载均衡与CDN内容分发
- 一般将来时语法课教案_英语语法:一般现在时和现在进行时
- 【干货】机器学习中样本比例不平衡的处理方法
- 用于数据科学的Python库,命令行工具,Jenkins X,DevOps,Perl 6等
- apache是怎么运行php的_PHP与WEB服务器是如何交互的
- c语言flappy bird代码,Flappy bird源代码(略吊)
- 容器的六大误区和八大正确场景(颠覆你的认知)
- 一、知识图谱商业应用
- VMWARE虚拟机使用的是此版本 VMware Workstation 不支持的硬件版本。 模块“Upgrade”启动失败。 未能启动虚拟机。
- 开学季,微信公众号图文排版必备十大素材
- linux禁用137 138端口,如何关闭135、137、138、139、445端口方法
- 最新WingIDE注册破解方法
- 纵向手风琴html,CSS3制作垂直手风琴
- MATLAB Jacobi迭代法 求解线性方程组
- Python程序设计 大作业 简化的PS
- 网络 :基础——路由器、交换机
- c语言中 dbl2str,c语言中FLT_DIG和DBL_DIG是什么意思?~
- python中ipo模型有,python ipo模型是指什么?-Python教程
- 控制用计算机论文,计算机在自动控制技术实践中的应用分析
- 比基尼女郎助威世界杯