AT_abc391_d [ABC391D] Gravity

题目描述

[problemUrl]: https://atcoder.jp/contests/abc391/tasks/abc391_d 存在一个 $10^9$ 行 $W$ 列的网格。将左数第 $x$ 列、**下数**第 $y$ 行的单元格记为 $(x,y)$。 有 $N$ 个方块。每个方块是 $1 \times 1$ 的正方形,方块 $i$($1 \leq i \leq N$)在时刻 $0$ 时位于单元格 $(X_i,Y_i)$。 在时刻 $t=1,2,\dots,10^{100}$ 时,按照以下规则移动方块: 1. 若网格下数第 $1$ 行所有列均被方块填满,则消除下数第 $1$ 行的所有方块。 2. 对于剩余的方块,从下往上的顺序依次进行以下操作: - 若方块位于最底行,或其下方相邻单元格已有方块,则不进行任何操作。 - 否则,将方块移动到下方相邻单元格。 给定 $Q$ 个询问。对于第 $j$ 个询问($1 \leq j \leq Q$),请判断在时刻 $T_j+0.5$ 时方块 $A_j$ 是否存在。

输入格式

输入通过标准输入按以下格式给出: > $N$ $W$ > $X_1$ $Y_1$ > $X_2$ $Y_2$ > $\vdots$ > $X_N$ $Y_N$ > $Q$ > $T_1$ $A_1$ > $T_2$ $A_2$ > $\vdots$ > $T_Q$ $A_Q$

输出格式

输出 $Q$ 行。第 $i$ 行输出 `Yes`(若时刻 $T_i+0.5$ 时方块 $A_i$ 存在)或 `No`(若不存在)。

说明/提示

### 约束条件 - $1 \leq N \leq 2 \times 10^5$ - $1 \leq W \leq N$ - $1 \leq X_i \leq W$ - $1 \leq Y_i \leq 10^9$ - $i \neq j$ 时 $(X_i,Y_i) \neq (X_j,Y_j)$ - $1 \leq Q \leq 2 \times 10^5$ - $1 \leq T_j \leq 10^9$ - $1 \leq A_j \leq N$ - 输入均为整数 ### 样例解释 1 方块位置变化如下图所示: ![](https://img.atcoder.jp/abc391/4a6590753edcbad7ea1e8ce7f172902a.png) - 询问 $1$:时刻 $1.5$ 时方块 $1$ 存在,输出 `Yes`。 - 询问 $2$:时刻 $1.5$ 时方块 $2$ 存在,输出 `Yes`。 - 询问 $3$:方块 $3$ 在时刻 $2$ 被消除,因此时刻 $2.5$ 时不存在,输出 `No`。 翻译由 DeepSeek R1 完成