CF1949H Division Avoidance

题目描述

一种新发现的生物可以表示为无限网格上的一组细胞。网格上有一个坐标系,每个细胞有两个整数坐标 $x$ 和 $y$。坐标为 $x=a$ 且 $y=b$ 的细胞记作 $(a, b)$。 最初,生物只包含一个细胞 $(0, 0)$。然后可以进行零次或多次分裂。每次分裂时,会移除一个细胞 $(a, b)$,并用两个细胞 $(a+1, b)$ 和 $(a, b+1)$ 替换它。 例如,第一次分裂后,生物总是包含两个细胞 $(1, 0)$ 和 $(0, 1)$;第二次分裂后,生物可能是三个细胞 $(2, 0)$、$(1, 1)$ 和 $(0, 1)$,或者是三个细胞 $(1, 0)$、$(1, 1)$ 和 $(0, 2)$。 只有当 $(a+1, b)$ 和 $(a, b+1)$ 这两个细胞还不在生物体内时,才能对 $(a, b)$ 进行分裂。例如,如果生物当前包含三个细胞 $(1, 0)$、$(1, 1)$ 和 $(0, 2)$,则不能对 $(1, 0)$ 进行分裂,因为分裂后产生的 $(1, 1)$ 已经存在于生物体内。 现在给定一组禁止出现的细胞 $ \{(c_i, d_i)\} $。是否存在一种分裂方式,使得生物体在若干次分裂后不包含任何禁止出现的细胞?

输入格式

每个测试点包含多个测试用例。第一行包含一个整数 $t$($1 \le t \le 10\,000$)——表示测试用例的数量。 每个测试用例的第一行包含一个整数 $n$($1 \le n \le 10^6$)——表示禁止出现的细胞数量。 接下来的 $n$ 行,每行包含两个整数 $c_i$ 和 $d_i$($0 \le c_i, d_i \le 10^9$),表示第 $i$ 个禁止出现的细胞的坐标。保证所有禁止出现的细胞互不相同。 保证所有测试用例中 $n$ 的总和不超过 $10^6$。

输出格式

对于每个测试用例,如果存在一种分裂方式使得生物体不包含任何禁止出现的细胞,输出 $\texttt{YES}$;否则输出 $\texttt{NO}$。

说明/提示

在第一个测试用例中,按照如下顺序分裂细胞,可以得到一个不包含任何禁止出现细胞的生物体:$(0, 0)$、$(1, 0)$、$(1, 1)$、$(0, 1)$、$(2, 1)$、$(2, 2)$、$(1, 2)$、$(1, 1)$。下图展示了生物体在此过程中如何变化: ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF1949H/af7492370ff72c66df43c916851ebb0d0425026f.png) 在第二个测试用例中,可以发现,无论如何分裂,生物体总会至少包含一个位于 $0 \le x, y \le 3$ 的细胞。 由 ChatGPT 4.1 翻译