题目 20355

Rectangle

查看题解 ↗GitHub ↗如何评测
题号
20355
标签
比赛NOIP
来源
2018 国庆雅礼集训 10-6

Rectangle

rectangle.cpp/in/out

  • 时间限制:2.0s
  • 空间限制:512MB

题目描述

平面上有 nn 个点,第 ii 个点的坐标为 Xi,YiX_i, Y_i。对于其中的一个非空点集 SS,定义 f(S)f(S) 为一个最小矩形,满足:

  • 覆盖 SS 中所有的点(在边界上也算覆盖);
  • 边与坐标轴平行。

求所有不同的 f(S)f(S) 的面积和对 109+710^9 + 7 取模的结果。两个矩形被认为是不同的,当且仅当它们顶点坐标不同。

输入格式

从文件 rectangle.in 中读入数据。

第一行一个整数 nn。

接下来 nn 行,每行两个整数 Xi,YiX_i, Y_i。

输出格式

输出到文件 rectangle.out 中。

一行一个整数表示答案。

样例 1 输入

文本
4
1 2
3 1
4 4
5 1

样例 1 输出

文本
45

样例 1 解释

有 8 个面积大于 0 的不同矩形,以下是它们左下角和右上角的坐标:

(1,1),(3,2)(1, 1),(3, 2);(1,1),(4,4)(1, 1),(4, 4);(1,1),(5,2)(1, 1),(5, 2);(1,1),(5,4)(1, 1),(5, 4);(1,2),(4,4)(1, 2),(4, 4);(3,1),(4,4)(3, 1),(4, 4);(3,1),(5,4)(3, 1),(5, 4);(4,1),(5,4)(4, 1),(5, 4)。

样例 2

见选手目录下的 rectangle/rectangle2.in 与 rectangle/rectangle2.ans。

样例 3

见选手目录下的 rectangle/rectangle3.in 与 rectangle/rectangle3.ans。

数据范围

对于所有数据,满足 2≤n≤1042 \le n \le 10^4,1≤Xi,Yi≤25001 \le X_i, Y_i \le 2500,没有重复的点。

  • Subtask 1 (13%):n≤18n \le 18。
  • Subtask 2 (9%):n≤50n \le 50。
  • Subtask 3 (25%):n≤300n \le 300。
  • Subtask 4 (21%):n≤2500n \le 2500,Xi≠XjX_i \neq X_j,Yi≠YjY_i \neq Y_j。
  • Subtask 5 (19%):n≤2500n \le 2500。
  • Subtask 6 (13%):没有特殊的约束。

数据下载

题目 20355 的公开数据

正在读取文件列表…

常用命令

题目 20355 的 ROJ 命令

以下命令默认使用全局安装的 ROJ Skill,请在终端中直接执行;如果修改过 AGENT_HOME,请将命令中的 ~/.agents 替换为对应目录。