CFCF2201F1.Monotone Monochrome Matrices (Medium Version)

省选/NOI-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

这是本问题的中等难度版本。不同版本之间的区别在于本版本中 nnqq 的约束更大。只有你解决了本问题的所有版本后,才能进行 hack。

一个大小为 n×nn \times n 的单色矩阵是指有 nnnn 列,每个格子要么是黑色,要么是白色的矩阵。我们用 C[r,c]C[r,c] 表示单色矩阵 CC 中第 rr 行第 cc 列格子的颜色。

如果满足下述条件,我们称该矩阵 CC 为单调矩阵(monotone):

  • 不存在满足如下三个条件的两行 1i<jn1 \le i < j \le n 和两列 1k<ln1 \le k < l \le n
    • C[i,k]=C[j,l]C[i,k] = C[j,l]
    • C[j,k]=C[i,l]C[j,k] = C[i,l]
    • C[i,k]C[j,k]C[i,k] \neq C[j,k]

现有一个 n×nn \times n 的单色矩阵 MM,初始时所有格子都是白色。请你回答 qq 个如下形式的操作:

  • r  cr\;c:将矩阵 MM 的第 rr 行第 cc 列的格子染成黑色。然后,判断 MM 是否为单调矩阵。

保证每次操作前 (r,c)(r,c) 位置的格子都是白色。

注意,操作具有持久性。也就是说,一次操作后的颜色会影响后续操作。

输入格式

每个测试点包含多个测试用例。第一行包含整数 tt1t1031 \le t \le 10^3),表示测试用例数。接下来是每个测试用例的内容。

每个测试用例的第一行包含两个整数 nnqq2n2000002 \le n \le 200\,0001qmin(n2,200000)1 \le q \le \min(n^2,200\,000))。

接下来 qq 行,每行包含两个整数 rir_i, cic_i,表示第 ii 次操作(1ri,cin1 \le r_i,c_i \le n)。

保证每次操作前 (ri,ci)(r_i, c_i) 位置的格子都是白色。

保证所有测试用例中 nn 的总和不超过 200000200\,000

保证所有测试用例中 qq 的总和不超过 200000200\,000

输出格式

对于每次操作,如果当前的 MM 是单调矩阵,输出 "YES";否则输出 "NO"。每个答案占一行,大小写不限,例如 "yEs"、"yes"、"Yes" 都会被认为是正确的正面回答。

输入输出样例

  • 输入#1

    2
    3 9
    2 2
    3 3
    2 3
    3 1
    3 2
    1 1
    1 2
    2 1
    1 3
    5 17
    2 1
    4 5
    4 1
    3 3
    3 1
    3 5
    1 3
    1 5
    1 1
    5 3
    5 5
    5 1
    1 4
    5 2
    5 4
    1 2
    2 5

    输出#1

    YES
    NO
    YES
    NO
    YES
    NO
    NO
    YES
    YES
    YES
    NO
    YES
    NO
    NO
    YES
    NO
    NO
    YES
    NO
    NO
    YES
    YES
    NO
    YES
    YES
    YES

说明/提示

在第一个测试用例中,MM 的大小是 3×33 \times 3。每次操作后 MM 的状态如下图所示:

[][][][][][][][][]\quad\, \begin{bmatrix} \square & \square & \square\\ \square & \blacksquare & \square\\ \square & \square & \square \end{bmatrix} \to \begin{bmatrix} \square & \square & \square\\ \square & \color{red}{\blacksquare} & \color{red}{\square}\\ \square & \color{red}{\square} & \color{red}{\blacksquare} \end{bmatrix} \to \begin{bmatrix} \square & \square & \square\\ \square & \blacksquare & \blacksquare\\ \square & \square & \blacksquare \end{bmatrix} \\\to \begin{bmatrix} \square & \square & \square\\ \color{red}{\square} & \color{red}{\blacksquare} & \blacksquare\\ \color{red}{\blacksquare} & \color{red}{\square} & \blacksquare \end{bmatrix} \to \begin{bmatrix} \square & \square & \square\\ \square & \blacksquare & \blacksquare\\ \blacksquare & \blacksquare & \blacksquare \end{bmatrix} \to \begin{bmatrix} \color{red}{\blacksquare} & \color{red}{\square} & \square\\ \color{red}{\square} & \color{red}{\blacksquare} & \blacksquare\\ \blacksquare & \blacksquare & \blacksquare \end{bmatrix} \\\to \begin{bmatrix} \color{red}{\blacksquare} & \blacksquare & \color{red}{\square}\\ \color{red}{\square} & \blacksquare & \color{red}{\blacksquare}\\ \blacksquare & \blacksquare & \blacksquare \end{bmatrix} \to \begin{bmatrix} \blacksquare & \blacksquare & \square\\ \blacksquare & \blacksquare & \blacksquare\\ \blacksquare & \blacksquare & \blacksquare \end{bmatrix} \to \begin{bmatrix} \blacksquare & \blacksquare & \blacksquare\\ \blacksquare & \blacksquare & \blacksquare\\ \blacksquare & \blacksquare & \blacksquare \end{bmatrix}

对于不是单调矩阵的操作,红色标记的四个格子就是违反上述条件的位置。

首页