P15420 DTTM II
题目背景
:::epigraph[——《下一个天亮》]
等下一个天亮
把偷拍我看海的照片送我好吗
我喜欢我飞舞的头发
和飘着雨还是眺望的眼光
:::
题目描述
定义序列的一个**极长连续段**为三元组 $(l,r,x)$ 满足 $\forall l\le i\le r,a_i=x$ 且 $a_{l-1}\neq x$,$a_{r+1}\neq x$。
如对于序列 $1,2,2,3,3,3$,其极长连续段分别为 $(1,1,1),(2,3,2),(4,6,3)$。
若你有一个序列 $\{a_n\}$,定义一次变换为:
- 找出其中所有极长连续段,记为 $(l_i,r_i,a_i)$。另开一个数组 $b$,按照极长连续段**从左到右**的顺序加入 $r_i-l_i+1,a_i$ 两个数至 $b$ 的末尾。
- $a\gets b$。
例如 $1,2,2,3,3,3,1,3$ 在经过一次变换后会变为 $1,1,2,2,3,3,1,1,1,3$。
给你 $k$ 和序列 $\{a_n\}$,满足 $\forall i,a_i\le k$。你的任务是判断在有限次变换内其中是否只会出现 $\le k$ 的数。
输入格式
**本题包含多组测试。**
第一行一个整数 $T$,表示测试数据组数。对于每组测试数据:
第一行两个整数 $n,k$,表示序列长度和值域。
接下来一行 $n$ 个用空格隔开的整数,表示序列 $\{a_n\}$。
输出格式
输出 $T$ 行。对于每组测试数据,如果可以在有限次变换内序列中只会出现 $\le k$ 的数,输出 `YES`,否则输出 `NO`。
说明/提示
### 样例 #1 解释
对于第一组数据,序列 $1,1,2,1$ 的变换过程如下:
- $2,1,1,2,1,1$。
- $1,2,2,1,1,2,2,1$。
- $1,1,2,2,2,1,2,2,1,1$。
- $2,1,3,2,1,1,2,2,2,1$。此时序列中出现了 $>2$ 的数,故输出 `NO`。
### 数据范围
**本题开启捆绑测试。**
对于 $100\%$ 的数据,$1\le T\le 10^4$,$1\le n$,$1\le \sum n\le 2\times 10^6$,$1\le a_i\le k\le 10^9$。
| 子任务 | 特殊性质 | 得分 |
|:-:|:-:|:-:|
| 1 | $k=1$ | $2$ |
| 2 | $\sum n\le 1000$ | $18$ |
| 3 | 无 | $80$ |
### 后记
:::epigraph[——《下一个天亮》]
时间可以磨去我的棱角
有些坚持却永远磨不掉
:::