题目名称 3518. [USACO20Dec Silver]Rectangular Pasture
输入输出 pasture.in/out
难度等级 ★★
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 20
题目来源 Gravatar数声风笛ovo 于2021-01-06加入
开放分组 全部用户
提交状态
分类标签
分享题解
通过:0, 提交:0, 通过率:0%
关于 Rectangular Pasture 的近10条评论(全部评论)

3518. [USACO20Dec Silver]Rectangular Pasture

★★   输入文件:pasture.in   输出文件:pasture.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】

Farmer John 最大的牧草地可以被看作是一个由方格组成的巨大的二维方阵(想象一个巨大的棋盘)。现在,有 $N$ 头奶牛正占据某些方格($1 \leq N \leq 2500$)。

Farmer John 想要建造一个可以包围一块矩形区域的栅栏;这个矩形必须四边与 $x$ 轴和 $y$ 轴平行,最少包含一个方格。请帮助他求出他可以包围在这样的区域内的不同的奶牛子集的数量。注意空集应当被计算为答案之一。

【输入格式】

输入的第一行包含一个整数 $N$。以下 $N$ 行每行包含两个空格分隔的整数,表示一头奶牛所在方格的坐标 $(x,y)$。所有 $x$ 坐标各不相同,所有 $y$ 坐标各不相同。所有 $x$ 与 $y$ 的值均在 $0 \ldots 10^9$ 范围内。

【输出格式】

输出 FJ 可以包围的奶牛的子集数量。可以证明这个数量可以用 64 位有符号整数型存储(例如 C/C++ 中的long long)。

【样例输入】

4
0 2
1 0
2 3
3 5

【样例输出】

13

【样例说明】

共有 $2^4$ 个子集。FJ 不能建造一个栅栏仅包围奶牛 1、2、4,或仅包围奶牛 2、4,或仅包围奶牛 1、4,所以答案为 $2^4-3=16-3=13$。

【数据规模与约定】

对于$ 15\% $的测试数据(测试点$ 1\sim3 $),满足 $N\le 20$。

对于$ 30\% $的测试数据(测试点$ 1\sim6 $),满足 $N\le 100$。

对于$ 60\% $的测试数据(测试点$ 1\sim12 $),满足 $N\le 500$。

对于$ 100\% $的测试数据,均满足上文所给出的数据规模。

【来源】

USACO 十二月公开赛 Silver 组