CF1292A NEKO's Maze Game

题目描述

NEKO#ΦωΦ 刚刚给自己的电脑添加了一款新的迷宫游戏! 这个游戏的主要谜题,是一个在 $2 \times n$ 的矩形网格上的迷宫。NEKO 的任务是操控女主角 Nekomimi 从格子 $(1, 1)$ 开始,移动到位于格子 $(2, n)$ 的大门处,并离开迷宫。女主角只能在有公共边的两个格子之间移动。 然而在游戏的某些时刻,有些格子会改变它们的状态:从正常的地面变成岩浆(禁止移动到岩浆格子上)或反过来(让该格子再次变得能够通行)。游戏刚开始时,每个格子都是正常的地面。 当直播过去了数个小时后,NEKO 才终于弄明白了,只有 $q$ 个这样的时刻:第 $i$ 个时刻会翻转格子 $(r_i, c_i)$ 的状态(从地面变成岩浆或相反)。 知道了这些后,NEKO 想问在每个时刻结束后,还是否有可能从格子 $(1, 1)$ 移动到格子 $(2, n)$,并且不经过岩浆格子。 虽然 NEKO 是一个硬核玩家兼热门主播,她还是没有足够的[脑力](https://www.bilibili.com/video/av5299187)去解答这些问题。你可以帮帮她吗?

输入格式

第一行输入两个整数 $n, q$。 接下来 $q$ 行,第 $i$ 行输入两个整数 $r_i, c_i$,表示第 $i$ 个时刻被翻转状态的格子的坐标。 保证格子 $(1, 1)$ 和 $(2, n)$ 不会在给出的坐标中出现。 **数据范围:**$2 \le n \le {10}^5$,$1 \le q \le {10}^5$,$1 \le r_i \le 2$,$1 \le c_i \le n$。

输出格式

输出 $q$ 行,对于每个时刻,如果可能从格子 $(1, 1)$ 移动到格子 $(2, n)$,输出 `Yes`,否则输出 `No`。 你可以以任意大小写输出单词。 ### 样例解释 样例的通关教程在此: - 在第一个时刻后,女主角仍然可以到达终点。这是某一条最短路径:$(1, 1) \to (1, 2) \to (1, 3) \to (1, 4) \to (1, 5) \to (2, 5)$。 - 在第二个时刻后,无法到达终点,这是因为最远能够到达的格子是 $(1, 3)$。 - 在第四个时刻后,格子 $(2, 3)$ 可以通行了,但是整个第四列都无法通行,所以还是无法到达终点。 - 在第五个时刻后,屏障被消除了,于是她又能够到达终点了。

说明/提示

We'll crack down the example test here: - After the first query, the girl still able to reach the goal. One of the shortest path ways should be: $ (1,1) \to (1,2) \to (1,3) \to (1,4) \to (1,5) \to (2,5) $ . - After the second query, it's impossible to move to the goal, since the farthest cell she could reach is $ (1, 3) $ . - After the fourth query, the $ (2, 3) $ is not blocked, but now all the $ 4 $ -th column is blocked, so she still can't reach the goal. - After the fifth query, the column barrier has been lifted, thus she can go to the final goal again.