AT_abc434_c [ABC434C] Flapping Takahashi

题目描述

Takahashi 决定用气球在天空中飞翔。Takahashi 在时间 $0$ 时刻的高度为 $H$(单位为秒),并且将从现在开始飞行 $10^9$ 秒。 Takahashi 每秒钟最多可以改变 $1$ 的高度。但是,他不能让自己的高度降到 $0$ 或以下。 - 换句话说,若 $F(t)$ 表示 Takahashi 在时间 $t$ 时的高度,则 $F(t)$ 满足以下所有条件: - $F(0) = H$; - $-1 \leq \dfrac{F(u) - F(t)}{u - t} \leq 1$,其中 $0 \leq t < u \leq 10^9$; - $F(t) > 0$,其中 $0 \leq t \leq 10^9$。 现有 $N$ 个关于高度的目标,第 $i$ 个目标要求在时间 $t_i$ 时他的高度至少为 $l_i$,至多为 $u_i$。 询问是否存在一种飞行方式,使 Takahashi 可以满足所有目标。 给出 $T$ 组测试数据,请分别解答每一组情况。

输入格式

输入从标准输入读入,格式如下,其中 $\mathrm{case}_i$ 表示第 $i$ 组测试数据: > $ T $ > $ \mathrm{case}_1 $ > $ \mathrm{case}_2 $ > $ \vdots $ > $ \mathrm{case}_T $ 每组测试数据格式如下: > $ N $ $ H $ > $ t_1 $ $ l_1 $ $ u_1 $ > $ t_2 $ $ l_2 $ $ u_2 $ > $ \vdots $ > $ t_N $ $ l_N $ $ u_N $

输出格式

输出 $T$ 行,第 $i$ 行是字符串 `Yes`(如果存在可行方案),否则输出 `No`,表示第 $i$ 组测试数据的答案。

说明/提示

### 样例解释 1 对于第一组测试数据,Takahashi 可以按如下方式飞行以满足所有目标: - 在时间 $0$ 时,他的高度为 $5$。 - 从时间 $0$ 到时间 $2$,以每秒 $0.5$ 的速度下降。 - 在时间 $2$ 时,高度为 $5 - 0.5 \times 2 = 4$。 - 从时间 $2$ 到时间 $3$,保持高度不变。 - 在时间 $3$ 时,高度为 $4$,满足第一个目标。 - 从时间 $3$ 到时间 $8$,以每秒 $1$ 的速度上升。 - 在时间 $8$ 时,高度为 $4 + 1 \times 5 = 9$,满足第二个目标。 对于第二组测试数据,无论怎样飞行都无法满足所有目标。 ### 数据范围 - $1 \leq T \leq 10^5$ - $1 \leq N \leq 10^5$ - $1 \leq H \leq 10^9$ - $1 \leq t_1 < t_2 < \dots < t_N \leq 10^9$ - $1 \leq l_i \leq u_i \leq 10^9$ - 所有测试数据中 $N$ 的总和不超过 $10^5$。 - 所有输入数均为整数。 由 ChatGPT 5 翻译