#114. 数列变化(Replace on Segment)

数列变化(Replace on Segment)

题目描述

你有一个长度为 nn,值域在 [1,x][1,x] 内的序列。每次操作你可以选择一个数 k[1,x]k\in[1,x] 与一个不包含数 kk 的区间 [l,r][l,r],将其中的所有数变为 kk。问将序列中所有数变得相同的最小操作次数。

输入格式

第一行给定 T ​。

对于每组数据,第一行两个正整数 n,xn,x ,第二行 n 个正整数 a1na_{1\sim n}

输出格式

输出一行,表示答案。

样例 #1

样例输入 #1

3
3 2
1 2 1
6 3
1 2 3 1 2 3
12 3
3 1 3 1 2 1 1 2 3 1 1 3

样例输出 #1

1
2
2

样例解释

​ 对于第一组数据,把 [2,2] 变成 1 。 ​ 对于第二组数据,把 [2,3] 变成 1 ,把 [5,6] 变成 1 。 ​ 对于第三组数据,把 [4,8] 变成 3 ,再把 [1,12] 变成 2 。 ​

数据范围与提示

​ 对于 30% 的数据, 2xn102 \leq x \leq n \leq 10 。 ​ 对于 100% 的数据, $1 \leq T \leq 100, 2 \leq x \leq n \leq 100, 1 \leq a_i \leq x$。 ​