luogu#P10395. 青蛙寻青。

青蛙寻青。

题目背景

数次失败后,小青蛙的思想开始发生变化。

他开始寻找自己为青蛙之本。

他开始寻找其他青蛙帮忙。

他在发生蜕变。

他在升华。

他,将变成光!

他给自己取了新名字 —— 青蛙青(qwq),因为名字很可爱。

题目描述

白色光可以被分解成青色光还有很多其他颜色的光。

{a}\{a\} 是一个长度为 nn,有 kk 种不同颜色的序列,第 ii 个元素颜色为 aia_i(保证颜色 1k1\sim k 都在 aa 中出现过)。

{b}\{b\} 是一个长度为 mm 的序列,第 ii 个元素颜色为 bib_i(保证每个 bib_i 都是 kk 种颜色中的一种,但不保证 kk 种颜色都在 bb 中出现过)。我们可以修改 bb 中若干个位置的颜色,得到一个长度仍为 mm 的序列 bb'

我们对 bb'aa 中颜色相同的点连这种颜色的一条线段。

n=3,m=4,k=3,a={1,2,3},b={1,3,2,2}n=3,m=4,k=3,a=\{1,2,3\},b'=\{1,3,2,2\},它们之间的连线是这样的:

要求不同颜色的线段两两不交kk 种颜色都要在 bb 中出现,请问最少修改次数是多少?

形式化的,设你修改后的符合要求的序列为 bb',那么你需要最小化:

i=1m[bibi]\sum_{i=1}^{m}[b_i\ne b'_i]

对于上述 a={1,2,3},b={1,3,2,2}a=\{1,2,3\},b'=\{1,3,2,2\} 的情况,它们之间的连线(红色的 22 与紫色 33 之间)出现了相交。

但如果我们把 bb 修改成 {1,2,3,3}\{1,2,3,3\},它们之间的连线没有相交,满足上述条件:

注意:

  • b={1,1,4,5}b' = \{1,1,4,5\} 的情况连线也没有相交,但是 bb' 包含了 kk 种颜色之外的颜色(有 4455),因此这个 bb' 不合法。
  • b={1,1,1,1}b' = \{1,1,1,1\} 的情况连线也没有相交,但是 bb' 中没有包含 1k1\sim k 中所有的颜色(没有 2233),因此这个 bb' 也不合法。

特别的,如果无论怎样修改都无法满足要求,请输出 -1

输入格式

第一行共两个整数 n,mn,m,分别表示序列 a,ba,b 的元素个数。

第二行共 nn 个整数,第 ii 个整数表示 aia_i

第三行共 mm 个整数,第 ii 个整数表示 bib_i

输出格式

一行,一个整数,表示满足要求的最小修改次数。

如果无论怎样修改都无法满足要求,请输出 -1

3 4
1 2 3
1 3 2 2
2
5 5
1 2 3 4 4
1 2 3 3 3
1
5 10
1 2 3 4 5
1 2 2 3 2 2 2 4 5 4
3
10 2
1 2 1 2 2 2 2 2 2 2
2 2
-1

提示

【样例 #1 解释】

{1,3,2,2}\{1,3,2,2\} 修改为 {1,2,2,3}\{1,2,2,3\}

可以证明这是修改次数最少的方式。

【样例 #2 解释】

{1,2,3,3,3}\{1,2,3,3,3\} 修改为 {1,2,3,3,4}\{1,2,3,3,4\}

可以证明这是修改次数最少的方式。


本题开启捆绑测试以及子任务依赖。

本题时限 2s。

Subtask\text{Subtask} n,mn,m\le 分数 子任务依赖
11 55
22 50005000 3535 11
33 10510^5 3030 1,21,2
44 2×1062\times 10^6 1,2,31,2,3
  • 对于 100%100\% 的数据,保证 1n,m2×1061\le n,m\le 2\times 10^61ai,bin1\le a_i,b_i \le n。设 maxi=1nai=k\max\limits_{i=1}^n{a_i} = k,保证 1k1\sim k 均在 aa 中出现过,且 1kn1\le k \le n