题目要求最终的 a 数组中每个数都必须在 b 中出现过,且 a 数组最终是一个单调不降的数组,所以可以考虑确定 a 数组中最大的值,即第 n 个数的最终值。
状态定义 考虑 dp[i][j] 表示 a 的第 i 个数为 j ,前 i 个数是单调不降的最小操作次数。 状态转移
小苯有一个长度为n的数组 a,小红有一个长度为m的数组 b 小苯希望对a中的元素进行一些变换,使得a的所有元素都在b中出现过。具体的,他可以做任意如下操作:
小苯想在变换后,同时又能使得a单调不降,他想知道他最少需要操作多少次,请你帮帮他吧。
输入包含三行。第一行两个正整数n,m(1≤n,m≤2×103),分别表示a和b的长度。 第二行n个正整数ai(1≤ai≤109),表示a数组初始时所有的元素。
第三行m个正整数bi(1≤bi≤109),表示b数组的所有元素。
输出一个整数,表示最少操作次数
输入
5 4
3 5 3 8 10
1 2 3 4
输出
12
输入
5 3
1 2 3 3 3
1 2 3
输出
0