CF2069D.Palindrome Shuffle

普及+/提高

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一个由小写拉丁字母组成的字符串 ss。

你可以对字符串 ss 执行以下操作:选择一个连续的(可能为空的)子串,并对其进行洗牌(即重新排列子串中的字符顺序)。

注意:回文是指正向和反向读取相同的字符串。例如,字符串 a、bab、acca、bcabcbacb 是回文,而 ab、abbbaa、cccb 则不是。

你的任务是确定为了将给定字符串 ss 转换为回文,必须进行操作的最小子串长度。

输入格式

第一行包含一个整数 tt(1≤t≤1041 \le t \le 10^4)——测试用例的数量。

每个测试用例仅包含一行字符串 ss(2≤∣s∣≤2⋅1052 \le |s| \le 2 \cdot 10^5),由小写拉丁字母组成。

输入额外约束:

  • 字符串 ss 的长度为偶数;
  • 字符串 ss 总能被转换为回文;
  • 所有测试用例的 ss 长度总和不超过 2⋅1052 \cdot 10^5。

输出格式

对于每个测试用例,输出一个整数——为了将字符串转换为回文必须进行操作的最小子串长度。

输入输出样例

  • 输入#1

    4
    baba
    cc
    ddaa
    acbacddacbca

    输出#1

    2
    0
    3
    2

说明/提示

第一个示例中,可以按如下方式操作:baba → baab。

第二个示例中,字符串已经是回文,因此可以选择空子串进行操作。

第三个示例中,可以按如下方式操作:ddaa → adda。

第四个示例中,可以按如下方式操作:acbacddacbca → acbcaddacbca。

翻译由 DeepSeek R1 完成

输入解题思路,AI测评打分。不知道怎么写?

首页