`

南阳理工OJ 37 回文字符串 至少加多少的字符变回文串

 
阅读更多
#include<stdio.h>
#include<string.h>
#include<iostream>
using namespace std;
#define max(a,b) a>b?a:b
int f[1001][1001];
char a[1001];
int n;
void dp()
{
    int i,j;
    for(i=0;i<n;i++)
        for(j=n-1;j>=0;j--)
            if(a[i]==a[j])f[i+1][n-j]=f[i][n-j-1]+1;
            else f[i+1][n-j]=max(f[i][n-j],f[i+1][n-j-1]);
}
int main()
{
    int T;
    int i;
    scanf("%d",&T);
    while(T--)
    {
        memset(f,0,sizeof(f));
        cin>>a;
        n=strlen(a);
        dp();
        printf("%d\n",n-f[n][n]);
    }
    return 0;
}

 

 

 
#include <stdio.h>
#include <string.h>
char s[1005];
int log[1005][1005];
int main()
{
	int T,n,i,len;
	scanf("%d",&T);
	getchar();
	while(T--)
	{
		gets(s);
		len=strlen(s);
		for(i=0;i<len;i++)
		{
			log[0][i]=0;
			log[1][i]=0;
		}
		for(n=2;n<=len;n++)
		{
			for(i=0;i+n-1<len;i++)
			{
				if(s[i]==s[i+n-1])
				{
					log[n][i]=log[n-2][i+1];
				}
				else if(log[n-1][i]<log[n-1][i+1])
				{
					log[n][i]=log[n-1][i]+1;
				}
				else
				{
					log[n][i]=log[n-1][i+1]+1;
				}
			}
		}
		printf("%d\n",log[len][0]);
	}
	return 0;
}
        

 

分享到:
评论

相关推荐

    南阳理工oj离线题库

    南阳理工oj离线题库是为编程爱好者和学习者提供的一种资源,主要用于练习和提高编程技能。这个离线题库通常包含多种类型的编程题目,涵盖了数据结构、算法、计算机科学基础等多个方面。在这个环境中,用户可以不受...

    OJ_判断字符串类型

    在编程领域,尤其是在线判题系统(Online Judge,简称OJ)中,判断字符串类型是一项常见的任务。这个题目“OJ_判断字符串类型”可能是要求编写一个程序,用于分析输入的字符串并确定其特定的类型,如数字、字母、...

    OJ_字符串加解密

    这个特定的压缩包文件“OJ_字符串加解密”似乎与在OJ平台上解决字符串加解密问题有关。从标签我们可以推断,这个问题可能涉及到C语言,并且可能包含加密和解密字符串的方法。 字符串加解密是信息安全和数据处理中的...

    南阳理工学院OJ_个人AC代码包(Java提交)

    【南阳理工学院OJ_个人AC代码包(Java提交)】是针对Java初学者的一份宝贵资源,它包含了参与ACM国际大学生程序设计竞赛(ICPC)时在南阳理工学院在线评测系统(OJ)上获得正确答案的代码实例。这些代码展示了如何用...

    OJ_整型字符串排序

    在这个特定的题目“OJ_整型字符串排序”中,我们面临的是一个关于整型字符串排序的挑战。由于描述中提到只有资源文件而没有入口程序和测试用例,这意味着我们需要自己构建解决问题的算法并编写相应的代码。 整型...

    OJ_在字符串中找出连续最长的数字串

    在编程竞赛(OJ)中,"在字符串中找出连续最长的数字串"是一道典型的字符串处理问题。它要求我们从一个给定的字符串中找到最长的一段连续的数字序列。这个问题涉及到字符串遍历、字符判断以及动态规划或滑动窗口等...

    南阳理工学院OJ第1版解题报告V1.0.pdf

    ### 南阳理工学院OJ第1版解题报告概览 #### 1. A+B Problem 虽然解题思路在报告中被省略,但我们可以推测这是一个基础的数学加法问题,涉及到数字输入与基本算术操作。此类题目旨在测试初学者对编程语言基本输入...

    南阳理工oj stl练习ac代码

    南阳理工学院的OJ(Online Judge)平台为学生提供了丰富的STL练习题目,通过AC(Accepted,表示代码正确通过所有测试用例)的代码,我们可以学习到STL在实际问题解决中的应用。 1. 容器: STL包含多种容器,如...

    UVaOJ-401(Palindromes).zip_401 Palindromes

    标题中的"UVaOJ-401(Palindromes)"表明这是一个关于解决UVa Online Judge(UVa OJ)上编号为401的编程挑战,该挑战的主题是"Palindromes",即回文串。回文串是指一个字符串无论从前读到后还是从后读到前都是相同的,...

    OJ_将数组中的字符串按指定长度重新分割

    标题“OJ_将数组中的字符串按指定长度重新分割”涉及的是一个在线编程挑战(OJ,Online Judge)的问题,其核心是处理字符串数组,并按照特定的长度要求进行分割。这个问题主要涵盖以下知识点: 1. **字符串操作**:...

    OJ_字符转换Univesity

    标签包括"OJ"、"字符转换"和"Univesity",这暗示我们需要编写一个C语言程序,实现特定的字符转换功能,可能是针对字符串或文本的处理。而压缩包中的"source"文件可能包含了待处理的源代码或者数据。 在C语言中,...

    OJ_将十六进制字符串形式内容转为内存值形式

    在编程领域,特别是在线判题系统(Online Judge,简称OJ)中,处理字符串到内存值的转换是一项常见的任务。本题目"OJ_将十六进制字符串形式内容转为内存值形式"要求我们将十六进制表示的字符串转化为内存中的数值...

    湖南理工oj题解(学习用)-共230道题

    【标题】:“湖南理工oj题解(学习用)-共230道题”揭示了这是一个针对湖南理工大学在线编程竞赛平台(Online Judge,简称OJ)的题解集合,包含了230个不同题目。这类资源通常由参赛者或者经验丰富的程序员整理,...

    哈理工oj 1084百步穿杨

    哈理工OJ1084答案哈理工OJ1084答案哈理工OJ1084答案哈理工OJ1084答案哈理工OJ1084答案

    字符串加密解密

    winfrom MD5加密 字符串加密解密!

    32回文树1

    `PalindromicTree`结构体在Timus OJ1960题目中用于求解给定字符串的回文子串数。 总之,回文树是一种高效的数据结构,它能够快速地处理字符串中的回文串信息,包括查找、计数和构建。通过理解和运用回文树,我们...

    九度oj 题目1369:字符串的排列 剑指offer

    九度oj 题目1369:字符串的排列 剑指offer里面的题目 自己写的代码,供参考!

    湖南理工学院OJ-小鱼比可爱

    湖南理工学院小鱼比可爱OJ题

    控制台读取连续字符串的时候以单独字符存入数组(C++代码)

    控制台读取连续字符串的时候以单独字符存入数组,用OJ提交的时候,我发现有些题目输入格式是连续字符串,但我想把它每个字符单独放到数组每个地址里

    字符串题目记录

    该标题表明了问题的主题是字符串题目记录,可能来自于不同的 OJ 平台,如 POJ、HDU、SPOJ、SGU、HUST 和 FZU 等。 描述:上面可能有 POJ 的题目,HDU 的题目,SPOJ 的题目,SGU 的题目,HUST 上的题目,FZU 上的...

Global site tag (gtag.js) - Google Analytics