P13959 [ICPC 2023 Nanjing R] 计数器

题目描述

有一个计数器上有两个按钮,按下 `+` 按钮会让计数器的值增加 $1$,按下 `c` 按钮会让计数器的值变成 $0$。计数器一开始的值为 $0$。 某人对计数器进行了 $n$ 次操作,每次操作是按下两个按钮中的某一个。给定 $m$ 条已知信息,其中第 $i$ 条已知信息可以用两个整数 $a_i$ 和 $b_i$ 描述,表示第 $a_i$ 次操作后,计数器的值为 $b_i$。 问是否存在一种操作方式满足所有已知条件。

输入格式

有多组测试数据。第一行输入一个整数 $T$ 表示测试数据组数,对于每组测试数据: 第一行输入两个整数 $n$ 和 $m$($1 \le n \le 10^9$,$1 \le m \le 10^5$)表示操作总数和已知信息总数。 对于接下来 $m$ 行,第 $i$ 行输入两个整数 $a_i$ 和 $b_i$($1 \le a_i \le n$,$0 \le b_i \le 10^9$)表示已知第 $a_i$ 次操作后,计数器的值为 $b_i$。 保证所有数据 $m$ 之和不超过 $5 \times 10^5$。

输出格式

每组数据输出一行。若存在一种操作方式满足所有已知条件输出 $\texttt{Yes}$,否则输出 $\texttt{No}$。

说明/提示

对于第一组样例数据,按 `++cc+c+` 的顺序按下按钮即可满足所有已知条件。 对于第二组样例数据,按下 $3$ 次按钮共有 $8$ 种方式,如下表所述。 $$ \begin{array}{|c|c|c|c|c|c|c|} \hline \textbf{操作方式} & \textbf{第 2 次操作结果} & \textbf{第 3 次操作结果} & & \textbf{操作方式} & \textbf{第 2 次操作结果} & \textbf{第 3 次操作结果} \\ \hline ccc & 0 & 0 & & +cc & 0 & 0 \\ \hline cc+ & 0 & 1 & & +c+ & 0 & 1 \\ \hline c+c & 1 & 0 & & ++c & 2 & 0 \\ \hline c++ & 1 & 2 & & +++ & 2 & 3 \\ \hline \end{array}$$ 没有任何操作方式满足所有已知条件。 对于第三组样例数据,按下 $3$ 次按钮最多让计数器的值变成 $3$,不可能变成 $100$。