编程题
### 问题描述 小然有两个长度为 $N$ 的字符串 $A$ 和 $B$,它们都只包含小写的英文字母。 小然可以以他想要的任何方式重新排列这两个字符串。他的目标是让这两个字符串的最长公共子序列(LCS)的长度尽可能地小。 请你帮助小然找出在最优的重新排列方法下,这两个字符串的 LCS 的最小长度。 ### 输入格式 输入的第一行包含一个整数 $T$,表示测试用例的数量。 每个测试用例由多行组成: - 第一行包含一个整数 $N$,表示字符串的长度。 - 第二行包含一个长度为 $N$ 的字符串 $A$。 - 第三行包含一个长度为 $N$ 的字符串 $B$。 ### 输出格式 对于每个测试用例,输出一行一个整数,表示最小的 LCS 长度。 ### 样例输入 ```text 3 4 aaaa aaab 1 c z 5 abcde cdefg ``` ### 样例输出 ```text 3 0 1 ``` ### 说明 在第三个测试用例中,我们可以将字符串 $A$ 和 $B$ 重新排列为 $acbed$ 和 $gdefc$,这样它们的 LCS 是 $c$。注意,对于这种重新排列方式,存在多个最长的公共子序列。可以证明,没有其他的重新排列方法可以得到更小的 LCS。 ### 评测数据范围 $1 \leq T \leq 10^3$。 $1 \leq N \leq 10^5$。 $A$ 和 $B$ 只包含小写英文字母。 所有测试用例中 $N$ 的总和不超过 $2 \times 10^5$。
查看答案
赣ICP备20007335号-2