H - Palindrome Names

题意:给定一个字符串,每次可以向末尾添加一个字符或者更改一个字符。求使得字符串为回文串(从前往后和从后往前读一样)所花费的最小步数。

题解: 看来需要多思考啊!题目并不难,应该是见得少。先写个思路。

想让它变成回文串,那么可以向后面添加也可以更改其中一个元素。可以这样想,我在后面添加一个字符,那么我需要判断添加后还有几个不匹配,最小步数就是不匹配的个数+1。我要是就修改,最小步数就是不匹配的个数。 我需要从这两种操作中选择最小的就是答案。关键在于我添加一个字符后判断有几个不匹配的。 既然回文,说明把它倒过来写是一样的,这时添加一个字符看匹配个数就可以理解为把字符倒过来移动一位匹配个数,比如:

                              abcdefgded      把他倒过来挪一位:

                                   dedgfedcba

这样做的意思就是我在字符串后面添加一位,这一位必然要和前面第一位‘a'相同,那么剩下的再看有多少不匹配的加起来就是我这个操作需要的步数。我添加两位就是:

                                  abcdefgded 

                                       dedgfedcba

也就是字符串前两个'ab'一定匹配,再看剩下对应为不匹配的个数。以此类推。。。

其实,就像学长所说,最多操作步数就是字符串长度len/2.。。。跟它比较就行了。

IDI Open 2016 H 字符串模拟题的更多相关文章

  1. poj 1888 Crossword Answers 模拟题

    Crossword Answers Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 869   Accepted: 405 D ...

  2. hdu 2629 Identity Card (字符串解析模拟题)

    这题是一个字符串模拟水题,给12级学弟学妹们找找自信的,嘿嘿; 题目意思就是要你讲身份证的上的省份和生日解析出来输出就可以了: http://acm.hdu.edu.cn/showproblem.ph ...

  3. 全国信息学奥林匹克联赛 ( NOIP2014) 复赛 模拟题 Day1 长乐一中

    题目名称 正确答案  序列问题 长途旅行 英文名称 answer sequence travel 输入文件名 answer.in sequence.in travel.in 输出文件名 answer. ...

  4. Educational Codeforces Round 2 A. Extract Numbers 模拟题

    A. Extract Numbers Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/600/pr ...

  5. csu 1312 榜单(模拟题)

    http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1312 1312: 榜单 Time Limit: 1 Sec  Memory Limit: 128 ...

  6. 【BZOJ】2760: [JLOI2011]小A的烦恼【字符串模拟】

    2760: [JLOI2011]小A的烦恼 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 406  Solved: 258[Submit][Statu ...

  7. Codeforces Beta Round #5 B. Center Alignment 模拟题

    B. Center Alignment 题目连接: http://www.codeforces.com/contest/5/problem/B Description Almost every tex ...

  8. NOIP模拟题汇总(加厚版)

    \(NOIP\)模拟题汇总(加厚版) T1 string 描述 有一个仅由 '0' 和 '1' 组成的字符串 \(A\),可以对其执行下列两个操作: 删除 \(A\)中的第一个字符: 若 \(A\)中 ...

  9. 【洛谷1580】yyy loves Easter_Egg I(字符串处理题)

    点此看题面 大致题意: 略.(一道模拟题,自己去看题面吧) 几个字符数组函数 纯粹是一道字符串处理题,就当是学了一下各种与字符数组相关的函数吧! \(gets()\):这个是比较常用的函数,就是读入一 ...

随机推荐

  1. https://vjudge.net/problem/2198221/origin

    https://vjudge.net/problem/2198221/origin逆向思维,原题是人出来,我们处理成人进去,算出来每个人的曼哈顿距离,然后从大到小排序,距离长的先入.走的距离+这个人从 ...

  2. leetcode 665

    665. Non-decreasing Array Input: [4,2,3] Output: True Explanation: You could modify the first 4 to 1 ...

  3. 【solr】Solr5.5.4+Zookeeper3.4.6+Tomcat8搭建SolrCloud集群

    Solr5.5.4+Zookeeper3.4.6+Tomcat8搭建SolrCloud集群 SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力 ...

  4. Java是如何实现跨平台的

    一.Java是如何实现跨平台的 1.我们编写的Java源码,编译后会生成一种 .class 文件,称为字节码文件 2.Java虚拟机JVM就是负责将字节码文件翻译成特定平台下的机器码然后运行.也就是说 ...

  5. java swing同时向jlabel添加图片和文字,并且设置文字的位置

    jLabColor.setVerticalTextPosition(JLabel.TOP);//靠上 jLabColor.setHorizontalTextPosition(JLabel.CENTER ...

  6. java httpclient中文乱码解决方案,看注释

    @RequestMapping("getpage") public ModelAndView admin_checkurl(HttpServletRequest request) ...

  7. GIT → 10:基于IntelliJ IDEA的Git 操作

    GIT → 10:基于IntelliJ IDEA的Git 操作

  8. CentOS 7安装与配置JDK8

    1.检查是否安装过JDK 2.下载安装包并上传服务器 3.安装JDK rpm -ivh jdk-8u131-linux-x64.rpm 4.查看是否安装正常 java -version 5.配置环境变 ...

  9. java数字金额转中文大写

    package com.example.convert; import java.text.DecimalFormat; import java.util.Scanner; /** * 金额转换 * ...

  10. dedecms list标签调用附加表字段--绝对成功

    使用list标签调用附加表字段的时候会忽略一个地方,明明附加字段名已经添加进去了就是调用不出来 经过在网上查询了资料,说的天花乱坠,也都实践过一些,但是就是不成功鞋面介绍一下犯的低级错误在哪里 {de ...