#L4332. 「CEOI2013」亚得里亚海

「CEOI2013」亚得里亚海


题目描述

亚得里亚海的地图是一个 2500×2500 的网格:

  • 行号:1 到 2500(北到南)
  • 列号:1 到 2500(西到东)

海中有 N 个岛屿,每个岛屿位于一个单位方格中,坐标 ((R_K, C_K)),且位置互不重复。

航行规则

可以从岛屿 A 直接航行到岛屿 B,当且仅当满足以下条件之一:

  1. (R_A < R_B) 且 (C_A < C_B)(B 在 A 的东南方向)
  2. (R_A > R_B) 且 (C_A > C_B)(B 在 A 的西北方向)

注意:距离和中间是否有其他岛屿不影响直航可能性。

如果无法直航,可以通过若干次跳跃(经停其他岛)从 A 到 B。
从 A 到 B 的航行距离 = 最少需要的跳跃次数。

问题

对于每个岛屿 (K),计算:

[ \sum_{i \neq K} \text{dist}(i, K) ]

即所有其他岛屿到 (K) 的航行距离之和。

保证任意两个岛屿之间可达。


输入格式

  • 第一行:整数 (N)(岛屿数量)
  • 接下来 (N) 行:每行两个整数 (R_K, C_K)

输出格式

  • 输出 (N) 行,第 (K) 行表示岛屿 (K) 对应的答案。

样例

样例 1

输入:
7
1 7
7 5
4 5
4 8
6 6
6 1
2 3

输出:
16
11
12
11
12
16
8

样例 2

输入:
4
1 1
2 3
3 2
4 4

输出:
3
4
4
3

数据范围

  • (3 \leq N \leq 2.5 \times 10^5)
  • 坐标范围:(1 \leq R_K, C_K \leq 2500)
  • 各数据范围的 (N) 上限:
    • 25% 数据:(N \leq 100)
    • 50% 数据:(N \leq 1500)
    • 60% 数据:(N \leq 5000)
    • 80% 数据:(N \leq 25000)
    • 100% 数据:(N \leq 2.5\times 10^5)