CF2228D Sanae, Cross and Color

题目背景

信仰属于转瞬即逝之人。 ——《东方风神录》

题目描述

在山顶上,早苗仰望星空。对她而言,信仰是风与风相遇、道路分岔之处,也是所有方向交汇的地方。为了圣十字的荣光,让我们一起画出信仰的十字吧。 平面上有 $n$ 个互不相同的整点,第 $i$ 个点的坐标为 $(x_i,y_i)$。为了给这些点染色,需要选择两个整数 $k_1$ 和 $k_2$,使得由直线 $x=k_1+0.5$ 与 $y=k_2+0.5$ 划分出的四个区域中,每个区域都至少包含一个点。每个点 $(x,y)$ 根据其所在区域被染成如下颜色: * 左上($x\leq k_1$ 且 $y>k_2$):染成**红色**。 * 右上($x>k_1$ 且 $y>k_2$):染成**绿色**。 * 左下($x\leq k_1$ 且 $y\leq k_2$):染成**蓝色**。 * 右下($x>k_1$ 且 $y\leq k_2$):染成**黄色**。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/CF2228D/040b204b2ca596112fa43080d36e1da06635180df5adcdf6d78a90a2bb794202.png) 一组合法染色如第三个测试点所示,此时 $k_1=4,\ k_2=5$。 请你求出**不同染色方案**的数量。若两种染色方案中存在至少一个点颜色不同,则认为这两种方案不同;否则,即使它们对应的 $(k_1,k_2)$ 不同,也认为是同一种染色方案。

输入格式

每个测试文件包含多组数据。 第一行包含一个整数 $t$($1\le t\le10^4$),表示测试数据组数。 接下来对于每组数据: 第一行包含一个整数 $n$($4\leq n\leq2\times10^6$)。 接下来 $n$ 行,每行包含两个整数 $x_i,y_i$($1\leq x_i,y_i\leq n$),表示第 $i$ 个点的坐标。 保证每组数据中的点两两不同,且所有测试数据中 $n$ 的总和不超过 $2\times10^6$。

输出格式

对于每组数据,输出一个整数,表示不同合法染色方案的数量。

说明/提示

在第一组样例中,不存在合法的十字分割。 在第二组样例中,取 $k_1=k_2=2$ 时可以得到一种合法染色,可以证明这是唯一的一种染色方案。 第三组样例中的图示展示了其中一种合法染色方案。 由 ChatGPT 5 翻译