CFCF2201F2.Monotone Monochrome Matrices (Hard Version)

省选/NOI-

通过率:0%

AC君温馨提醒

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

题目描述

这是该问题的难度提升版。在本版本中,nnqq 的限制非常大。仅当你已经解决了该问题的所有版本,才可以 hack。

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

我们称这样的矩阵 CC 为“单调”,当且仅当它满足以下的条件:

  • 不存在两行 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) 仍为白色。

请注意,只有你解决了该题所有难度版本后,才可以 hack 此题。

输入格式

每个测试点包含多组数据。第一行包含测试组数 tt1t1031 \le t \le 10^3)。每组数据描述如下。

每组数据第一行包含两个整数 nnqq2n20000002 \le n \le \color{red}{2\,000\,000}1qmin(n2,2000000)1 \le q \le \min(n^2,\color{red}{2\,000\,000}))。

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

对于每个操作,保证在操作执行前,(r,c)(r,c) 仍为白色。

保证所有测试数据中 nn 的总和不超过 2000000\color{red}{2\,000\,000}

保证所有测试数据中 qq 的总和不超过 2000000\color{red}{2\,000\,000}

输出格式

对于每个操作,输出一行 “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}

当矩阵 MM 不是单调时,标红的四个方格表示出现上述条件中的违规格子。

首页