#504. [2024-11-13 P3] 替换
[2024-11-13 P3] 替换
【题目描述】
给定一个长度为 n 的序列 a 以及一个长度为 m 的序列 b 。
定义一次操作过程如下:
-
选择集合 S ⊆ {1, 2, … ,n} 。
-
对于 x ∈ S, 。
你想知道最少多少次操作才能使 a 形成单调不降的序列,即对于 1 ≤ i < n, 。
【输入格式】
第一行一个整数 n, m ,分别代表序列 a, b 的长度。
第二行 n 个整数,代表序列 a 。
第三行 m 个整数,代表序列 b 。
【输出格式】
输出一行一个整数,代表问题的答案。若无解输出 −1 。
【样例输入】
5 8
1 6 3 7 1
2 3 5 8 7 1 5 6
【样例输出】
3
【数据范围】
对于所有数据, 1 ≤ n,m ≤ 10^6 , 1 ≤ ai, bi ≤ m 。
子任务 1 ( 20% ) : 1 ≤ n,m ≤ 1000 。
子任务 2 ( 10% ) :对于 2 ≤ i ≤ m, bi = i − 1 。
子任务 3 ( 10% ) :对于 2 ≤ i ≤ m , bi = 1。 子任务 4 ( 20% ) :对于任意 1 ≤ x ≤ m ,若不断令 x ← bx ,最后一定会使 x 与 bx 相等。
子任务 5 ( 20% ): 1 ≤ n,m ≤ 3 × 10^5 。
子任务 6 ( 20% ) : 无特殊限制。