A94825.序列匹配
普及/提高-
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
给定两个整数序列:长度为 N 的序列 A 和长度为 M 的序列 B。
小明想通过以下方式生成两个新序列 A′ 和 B′:
- 从 A 中删除若干个元素(可以是 0 个,也可以是所有元素),将剩余的元素保持原有顺序连接起来形成 A′。
- 同样地,从 B 中删除若干个元素,将剩余的元素保持原有顺序连接起来形成 B′。
要求生成的两个新序列长度必须相等,即 ∣A′∣=∣B′∣(∣s∣ 表示序列 s 的长度)。
我们将代价定义为 x+y,其中:
- x 是从 A 和 B 中删除的元素总数。
- y 是满足 1≤i≤∣A′∣ 且 Ai′=Bi′ 的下标 i 的数量(即新序列中对应位置元素不同的个数)。
请帮助小明计算 x+y 的最小值。
输入格式
第一行包含两个整数 N 和 M,分别表示序列 A 和序列 B 的长度。
第二行包含 N 个整数 A1,A2,…,AN,表示序列 A 的元素。
第三行包含 M 个整数 B1,B2,…,BM,表示序列 B 的元素。
输出格式
输出一个整数,表示 x+y 可能的最小值。
输入输出样例
输入#1
4 3 1 2 1 3 1 3 1
输出#1
2
输入#2
4 6 1 3 2 4 1 5 2 6 4 3
输出#2
3
输入#3
5 5 1 1 1 1 1 2 2 2 2 2
输出#3
5
说明/提示
说明/提示
数据范围
- 对于 100% 的数据:1≤N,M≤1000, 1≤Ai,Bi≤109。
- 输入保证所有数值均为整数。
样例 1 解释
小明可以从 A 中删除 A4 生成 A′,从 B 中不删除任何元素生成 B′。
此时:
- A′=[1,2,1]
- B′=[1,3,1]
删除的元素总数 x=1(仅删除了 A4)。
新序列中,第 2 个位置的元素不同 (2=3),所以 y=1。
总代价为 x+y=1+1=2,这是最小值。