#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
/*
状态: cost[i][j] 表示要将 str 从第j个字符开始,
    长度为i的子串变为回文串需要添加的字符个数.这样
转移方程为:
     cost[0][i] = cost[1][i] = 0; (长度为0和长度为1的串)
当s[j] == s[i+j-1]时 ,字符串长度加2, 增加数量不变
     cost[i][j] = cost[i-2][j+1];
否则
     cost[i][j] = min{ cost[i-1][j], cost[i-1][j+1]}+1;
*/

int dp[1010][1010];
char str[1010];
int main()
{
    int N;
    scanf("%d%*c", &N);
    while (N--)
    {
        gets(str);
        int len = strlen(str);

for (int i = 0; i < len; i++)//
            dp[1][i] = dp[0][i] = 0;

for (int i = 2; i <= len; i++)
            for (int j = 0; j <= len-i; j++)
            {
                if (str[j] == str[j+i-1])
                    dp[i][j] = dp[i-2][j+1];
                else
                    dp[i][j] = min(dp[i-1][j], dp[i-1][j+1]) + 1;
            }
        printf("%d\n", dp[len][0]);
    }
    return 0;
}

NYOJ 37 动态规划 回文字符串相关推荐

  1. LeetCode:动态规划-回文字符串

    一.回文子串个数 647:给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目. dp[i][j]:s的区间[i,j]是否为回文串 class Solution {public int ...

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

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

  3. NYOJ 37 回文字符串

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

  4. 回文字符串与动态规划

    LeetCode2472. 不重叠回文子字符串的最大数目 题目描述 给你一个字符串 s s s 和一个正整数 k k k . 从字符串 s s s 中选出一组满足下述条件且不重叠的子字符串: 每个子字 ...

  5. 动态规划-最大回文字符串

    题目:给你一个字符串 s,找到 s 中最长的回文子串. 示例 1:输入:s = "babad" 输出:"bab" 解释:"aba" 同样是符 ...

  6. NYOJ 回文字符串

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

  7. leetcode_最长回文字符串

    题目:Given a string s, find the longest palindromic substring in s. You may assume that the maximum le ...

  8. leetCode第五题-求字符串最长回文字符串

    原题链接: 最长回文字符串 给你一个字符串 s,找到 s 中最长的回文子串. 示例 1: 输入:s = "babad" 输出:"bab" 解释:"ab ...

  9. 回文字符串(Palindromic_String)

    一.基本概念 回文字符串:是一个正读和反读都一样的字符串. 二.问题与算法 (1)判断 思想: 1.初始化标志flag=true: 2.输入字符串str,并获取其长度len: 3.定义并初始化游标i= ...

  10. jsp判断字符串相等_最长回文字符串三种解法

    先解释一下什么是回文字符串,比如说字符串"aba",无论是从先往后读取还是从后往前读取,结果都是一样的.当给定很长的字符串时,如何快速获取到最长的回文字符串,这也是大厂比较常见的算 ...

最新文章

  1. 1、计算机系统硬件(面试小知识)
  2. boost::replace相关的测试程序
  3. 【Linux】一步一步学Linux——history命令(213)
  4. 3_6 CommandMode 命令模式
  5. sdh管理单元指针_SDH设备上STM-1接口是啥玩意
  6. linux源码scripts目录是什么,linux-kernel – linux / scripts / recordmcount:没有这样的文件或目录...
  7. oracle存储过程插入自动编号,Oracle生成单据编号存储过程的实例代码
  8. python读取ini文件
  9. Markdown标题、行首缩进、换行。csdn(1)
  10. 使用shell写简单的计算机
  11. shell中的特殊符号
  12. 【实验技术笔记】细胞表型检测之细胞增殖(CCK-8法 + BrdU掺入法 + 平板克隆)
  13. 成都电子信息学校计算机专业,成都电子信息学校2020招生简章
  14. 工作缺点和不足及措施_【工作中存在的问题和不足及改进措施】_工作中的不足与改进_工作中不足及改进措施...
  15. python爬虫的知识
  16. linux嵌入式reboot不生效,Embeded linux之reboot
  17. 利用IPv6的地址特性写一个攻击甩锅程序
  18. 关于-32768的补码!
  19. 【源码】二维平面应力问题中的弹性材料模型仿真
  20. MATLAB中强行终止执行程序的4种方法

热门文章

  1. 码农们:完美主义也是一种错
  2. sublime补齐标签的用法
  3. 寻找指定型别的父控件
  4. Xslt中的Xsl:copy与Xsl:copy-of的区别
  5. php 不通过表单post,php – 简单表单不通过_POST发送数据
  6. mysql悲观锁和乐观使用实例_MySQL 悲观锁和乐观锁
  7. Annotation-specified bean name ‘mapper‘ for bean class [com.thoughtworks.xstream.mapper.Mapper] conf
  8. 什么是JDBC,JDBC的主要功能是什么?
  9. mysql中整理设置__MySQL的常用操作命令整理
  10. java块语句_Java™ 教程(表达式、语句和块)