#P2906. [USACO08OPEN] Cow Neighborhoods G

    ID: 3737 远端评测题 1000ms 125MiB 尝试: 0 已通过: 0 显示难度省选/NOI− 上传者: 标签>2008USACO并查集平衡树生成树

[USACO08OPEN] Cow Neighborhoods G

题目描述

了解奶牛的人都知道奶牛是如何组成「奶牛社区」的。他们观察了 Farmer John 的 NN 头奶牛(编号为 1∼N1 \sim N),它们在 XX 和 YY 坐标范围从 11 开始的牧场上放牧,每头奶牛都在自己唯一的整数直线坐标上。

如果满足以下两个标准中的至少一个,则两头奶牛是邻居:

  1. 两只奶牛的曼哈顿距离不超过 CC,即 ∣Xi−xi∣+∣Yi−yi∣≤C|X_i - x_i| + |Y_i - y_i| \leq C;
  2. 两只奶牛有共同的邻居。即存在一只奶牛 kk,使 ii 与 kk,jj 与 kk 均同属一个群。

给定奶牛的位置和距离 CC,确定「奶牛社区」的数量和最大的「奶牛社区」中的奶牛数量。

例如,考虑下面的牧场。 当 C=4C = 4 时,这个牧场有四个社区:左边的一个大社区,两个大小为 1 的社区,右边有一个巨大的社区,里面有 6060 头不同的奶牛。

.....................................*.................
....*...*..*.......................***.................
......*...........................****.................
..*....*..*.......................*...*.******.*.*.....
........................*.............***...***...*....
*..*..*...*..........................*..*...*..*...*...
.....................................*..*...*..*.......
.....................................*..*...*..*.......
...*................*..................................
.*..*............................*.*.*.*.*.*.*.*.*.*.*.
.*.....*..........................*.*.*.*.*.*.*.*.*.*.*
....*..................................................

输入格式

第 11 行包含两个用空格分隔的整数 N,CN, C。

第 22 到第 N+1N + 1 行每行包含两个用空格分隔的整数 Xi,YiX_i, Y_i,表示一头牛的坐标。

输出格式

共一行,为两个用空格分隔的整数,为「奶牛社区」的数量和最大的「奶牛社区」内牛的数量。

4 2 
1 1 
3 3 
2 2 
10 10 

2 3 

提示

样例说明 #1

样例中有 22 个社区,一个由前三头奶牛组成,另一个是最后一头奶牛。因此,最大的社区大小为 33。

数据范围与约定

对于 100%100\% 的数据,1≤N≤1051 \leq N \leq 10^5,1≤C≤1091 \leq C \leq 10^9,1≤Xi,Yi≤1091 \leq X_i, Y_i \leq 10^9,Xi,YiX_i, Y_i 均为整数。