CF1913F Palindromic Problem

题目描述

给定一个长度为 $n$ 的字符串 $s$,该字符串仅由小写拉丁字母组成。 你可以将字符串中的至多一个字符替换为任意一个小写拉丁字母。 请输出:在经过上述操作后,能够获得的回文子串数量最多的字符串中,字典序最小的那个。注意,如果某个回文子串在字符串中出现多次,则每次出现都要计数。 字符串 $a$ 的字典序小于字符串 $b$,当且仅当满足以下条件之一: - $a$ 是 $b$ 的前缀,且 $a \ne b$; - 在 $a$ 和 $b$ 第一个不同的位置,$a$ 中的字母在字母表中比 $b$ 中对应的字母更靠前。

输入格式

第一行包含一个整数 $n$($1 \leq n \leq 3 \cdot 10^5$),表示字符串的长度。 第二行包含一个长度恰好为 $n$ 的字符串 $s$,仅由小写拉丁字母组成。

输出格式

第一行输出一个整数,表示经过至多一次操作后,能够获得的最大回文子串数量。 第二行输出一个字符串,表示能够获得最大回文子串数量且字典序最小的字符串。如果有多个答案,输出字典序最小的那个。

说明/提示

由 ChatGPT 4.1 翻译