回文字符串

时间限制:3000 ms  |  内存限制:65535 KB
难度:4
描述
所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的,比如"aba"。当然,我们给你的问题不会再简单到判断一个字符串是不是回文字符串。现在要求你,给你一个字符串,可在任意位置添加字符,最少再添加几个字符,可以使这个字符串成为回文字符串。

输入
第一行给出整数N(0<N<100)
接下来的N行,每行一个字符串,每个字符串长度不超过1000.
输出
每行输出所需添加的最少字符数
样例输入
1
Ab3bd
样例输出
2

还是题目做少了,看到这个题目没有第一时间想到求最长公共子序列(可以参考这个题:YOJ题目36-最长公共子序列(经典动态规划题))

把上面的字符串反向之后,求两个字符串的最长公共子序列,然后用长度减去最长公共子序列即得答案

#include <iostream>
#include<cstring>
#include <cstdio>
using namespace std;
int dp[1005][1005];int main()
{int N;char a[1005],b[1005];cin>>N;while(N--){scanf("%s",a);int len = strlen(a);for(int i=len-1,j=0;i>=0;j++,i--)b[j]=a[i];memset(dp,0,sizeof(dp));for(int i=1;i<=len;i++){for(int j=0;j<=len;j++){if(b[i-1]==a[j-1])dp[i][j] = dp[i-1][j-1] + 1;elsedp[i][j] = dp[i-1][j]>dp[i][j-1] ? dp[i-1][j]:dp[i][j-1];//    cout<<i<<" "<<j<<" "<<dp[i][j]<<endl;}}printf("%d\n",len-dp[len][len]);}return 0;
}

NYOJ题目37-回文字符串相关推荐

  1. NYOJ 37 回文字符串

    回文字符串 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描述 所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的,比如"aba".当然, ...

  2. nyist oj 37 回文字符串 (动态规划经典)

    回文字符串 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描写叙述 所谓回文字符串,就是一个字符串.从左到右读和从右到左读是全然一样的.比方"aba".当 ...

  3. 680. 验证回文字符串 Ⅱ golang

    题目 验证回文字符串 Ⅱ 给定一个非空字符串 s,最多删除一个字符.判断是否能成为回文字符串. 示例 1: 输入: "aba" 输出: True 示例 2: 输入: "a ...

  4. 庞果网-回文字符串(failed)

    题目:回文字符串是指从左到右和从右到左相同的字符串,现给定一个仅由小写字母组成的字符串,你可以把它的字母重新排列,以形成不同的回文字符串. 输入:非空仅由小写字母组成的字符串,长度不超过100: 输出 ...

  5. NYOJ 回文字符串

    回文字符串 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描述 所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的,比如"aba".当然, ...

  6. 题目1192:回文字符串

    题目描述: 给出一个长度不超过1000的字符串,判断它是不是回文(顺读,逆读均相同)的. 输入: 输入包括一行字符串,其长度不超过1000. 输出: 可能有多组测试数据,对于每组数据,如果是回文字符串 ...

  7. 第3章-21 判断回文字符串 (15分) PTA-python 题解 浙大版《Python 程序设计》题目集

    致读者: 博主是一名数据科学与大数据专业大三的学生,一个互联网新人,这篇文章是记录我作为python助教总结的简单题解,写博客一方面是为了记录自己的学习过程中遇到的问题和思考,一方面是希望能够帮助到很 ...

  8. 编程之美2015资格赛 题目2 : 回文字符序列 [ 区间dp ]

    传送门 题目2 : 回文字符序列 时间限制:2000ms 单点时限:1000ms 内存限制:256MB 描述 给定字符串,求它的回文子序列个数.回文子序列反转字符顺序后仍然与原序列相同.例如字符串ab ...

  9. Palindrome(插入字符变成回文字符串)

    题目:给定一个字符串,问最少插入多少字符,使字符串变成回文字符串. 思路:X:原字符串 Y:逆字符串 需要插入的字符数=X的长度-(X与Y的LCS的长度)     这里使用了滚动数组,压缩空间,原因: ...

  10. codevs1520 回文字符串

    题解 题目描述 Description 所谓回文字符串,就是一个字符串,从左到右读和从右到左读是完全一样的,比如: aba kllkllk tyyt 都是. 当然,我们给你的问题不会再简单到判断一个字 ...

最新文章

  1. iOS实现图片自动轮播展示
  2. 【ASP.NET】js动态生成的控件,在后台获取不到怎么办?
  3. http://www.linux.gov.cn
  4. Madgwick算法详细解读
  5. consumer和partition的数量建议
  6. CF603D Ruminations on Ruminants(计算几何/Simson theorem)
  7. mySQL日期函数并运行_mysql日期相关的函数
  8. matlab求零空间,matlab求矩阵的零空间的一组整数基,该怎样操作?
  9. C++和Rust_Kotlin、Rust两个充满了骚操作的编程语言,值得一玩
  10. PostgreSQL 聚合、分组、排序
  11. JS-循环(while,for,嵌套)-跳转语句(break,continue)
  12. python中用于绘制各种图形的区域称作_Python--matplotlib绘图可视化知识点整理(示例代码)...
  13. Java中Timer的用法
  14. 计算机技术对审计范围的影响,计算机技术对审计过程的影响分析
  15. 进制转换和2的幂次方表示
  16. Learning ImageMagick 1: Lomo效果
  17. 移动路由器做网站服务器,移动路由器上网方式选哪个?
  18. 5G、LPWAN、SDN、NFV、TSN…一文带你看懂物联网“网”的本质
  19. CSS学习笔记之学成在线项目(下) 3.3
  20. 小红帽中用eclipse编译windows程序遇到的问题处理备忘录

热门文章

  1. iOS开发技巧:使用Objective-C创建UUID
  2. zabbix2.4.6升级zabbix3.0.8后无法发送报警邮件
  3. Jfinal weixin源码分析---碎碎念(看最后,有福利)
  4. android ssl-dl
  5. 关于linux下的iptables 的浅析命令和了解
  6. Visio2013里面的大括号
  7. ArrayList以及List的常用方法
  8. Spark交互式工具spark-shell
  9. 通过JS语句判断WEB网站的访问端是电脑还是手机
  10. java的IO总结(一)