CF1144E Median String

题目描述

给定两个字符串 $s$ 和 $t$,它们都由恰好 $k$ 个小写拉丁字母组成,且 $s$ 的字典序严格小于 $t$。 我们考虑所有长度为 $k$ 的小写拉丁字母字符串中,字典序不小于 $s$ 且不大于 $t$(包括 $s$ 和 $t$)的字符串,按字典序排列。例如,当 $k=2$,$s=$"az",$t=$"bf" 时,所有满足条件的字符串为 \["az", "ba", "bb", "bc", "bd", "be", "bf"\]。 你的任务是输出这个列表的中位数(即中间的元素)。对于上面的例子,中位数是 "bc"。 保证满足条件的字符串个数是奇数。

输入格式

第一行输入一个整数 $k$($1 \le k \le 2 \cdot 10^5$),表示字符串的长度。 第二行输入一个长度为 $k$ 的字符串 $s$,由小写拉丁字母组成。 第三行输入一个长度为 $k$ 的字符串 $t$,由小写拉丁字母组成。 保证 $s$ 的字典序严格小于 $t$。 保证满足条件的字符串个数是奇数。

输出格式

输出一个恰好由 $k$ 个小写拉丁字母组成的字符串,即所有满足条件的字符串中的中位数(中间的元素)。

说明/提示

由 ChatGPT 4.1 翻译