Codeforces 486C Palindrome Transformation(贪心)[通俗易懂]

Codeforces 486C Palindrome Transformation(贪心)

大家好,又见面了,我是全栈君。

题目链接:Codeforces 486C Palindrome Transformation

题目大意:给定一个字符串,长度N。指针位置P,问说最少花多少步将字符串变成回文串。

解题思路:事实上仅仅要是对称位置不同样的。那么指针肯定要先移动到这里,改动字符仅仅须要考虑两种方向哪种更优即

可。

然后将全部须要到达的位置跳出来。贪心处理。

#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <vector>
#include <algorithm>

using namespace std;

const int maxn = 1e5 + 5;

int N, P;
vector<int> pos;
char s[maxn];

int solve () {
    int ret = 0, n = N / 2;;
    for (int i = 0; i < n; i++) {
        int tmp = abs(s[i] - s[N-i-1]);
        tmp = min(tmp, 26 - tmp);
        ret += tmp;
        if (tmp)
            pos.push_back(abs(i+1-P) < abs(N-i-P) ? i+1 : N-i);
    }
    n = pos.size();

    if (n == 0)
        return ret;
    sort(pos.begin(), pos.end());
    return ret + pos[n-1] - pos[0] + min(abs(pos[n-1]-P), abs(pos[0]-P));
}

int main () {
    scanf("%d%d%s", &N, &P, s);
    printf("%d\n", solve());
    return 0;
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115724.html原文链接:https://javaforall.net

(0)
上一篇 2022年1月31日 下午2:00
下一篇 2022年1月31日 下午2:00


相关推荐

  • Linux——ps(列出进程)

    Linux——ps(列出进程)

    2021年8月30日
    94
  • 点到平面的基本距离推导公式

    点到平面的基本距离推导公式平面的一般式方程 Ax By Cz D 0 其中 n A B C 是平面的法向量 D 是将平面平移到坐标原点所需距离 所以 D 0 时 平面过原点 向量的模 长度 给定一个向量 V x y z 则 V sqrt x x y y z z 向量的点积 内积 给定两个向量 V1 x1 y1 z1 和 V2 x2 y2 z2 则他

    2026年3月17日
    4
  • OpenClaw 万技归宗:13000+ Skills 完全掌控指南(进阶篇)

    OpenClaw 万技归宗:13000+ Skills 完全掌控指南(进阶篇)

    2026年3月13日
    2
  • 网线线序及网线转RS232—— DB9线序

    网线线序及网线转RS232—— DB9线序网线制作有两种标准 568A 和 568B 网线两端都是同一标准即平行线 用于连接不同类型设备 例如 交换机和计算机之间的连接 两端是不同标准即交叉线 用于连接同类型设备 例如 两台计算机之间 568A 线序 绿白绿橙白蓝蓝白橙棕白棕 568B 线序 橙白橙绿白蓝蓝白绿棕白棕 即把 568A 的 1 和 3 2 和 6 对调即可

    2026年3月26日
    2
  • base64编码图片数据存储服务器

    base64编码图片数据存储服务器如果直接提交base64编码图片数据,过大的话后台会出现转发错误问题。我在刚开始接触base64编码图片数据时,就是把base64编码图片数据传到后台来解码生成图片。导致生成的图片无法打开,后来才发现其实传到后台的base64编码根本就不完整,导致解码出现问题,无法显示图片。所以,base64编码只能在前端处理。后来查阅资料,看见一个不错的解决方式就是

    2022年4月13日
    52
  • restful接口定义_主板上的spi接口接什么

    restful接口定义_主板上的spi接口接什么由于在实际项目中碰到的restful服务,参数都以json为准。这里我获取的接口和传入的参数都是json字符串类型。发布restful服务可参照文章http://www.cnblogs.com/jav

    2022年8月6日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号