AT_gigacode_2019_g ギガ国の道路事情

题目描述

在“ギガ国”中有 $N$ 个城市,编号分别为 $1, 2, 3, \dots, N$。 有若干城市通过道路相连。具体来说,有 $M$ 条道路,第 $i$ 条道路连接城市 $a_i$ 和 $b_i$,且为双向道路。此外,通过某些道路,可以从任意一个城市到达任意另一个城市。 这里,$d(i, j)$ 表示“城市 $i$ 和城市 $j$ 之间的距离”,即“仅通过道路从城市 $i$ 到城市 $j$ 时所经过的最少道路数”。 请计算所有不同的 $2$ 个城市对 $(x, y)$ 的距离 $d(x, y)$ 的总和。

输入格式

输入以如下格式从标准输入给出: > $N$ $M$ $a_1$ $b_1$ $a_2$ $b_2$ : : $a_M$ $b_M$

输出格式

输出所有城市 $x, y$ 间距离 $d(x, y)$ 的总和。

说明/提示

## 限制条件 - $1 \leq N \leq 100\,000$ - $1 \leq M \leq 100\,000$ - $N-1 \leq M \leq N+777$ - $1 \leq a_i, b_i \leq N$ - $a_i \neq b_i$ - 对于任意 $(u, v)$,直接连接城市 $u$ 和城市 $v$ 的道路最多只有一条。 - 任意两个城市之间都可以通过道路到达。 - 所有输入均为整数。 ## 部分得分 本题分为若干小题,若某小题的所有测试点均通过,则视为该小题通过。 提交代码的得分为通过的小题分数之和。 1. (9 分) $N \leq 100, M \leq 100$ 2. (7 分) $N \leq 3\,000, M \leq 3\,000$ 3. (12 分) 满足 $M - N = -1$。 4. (13 分) 满足 $M - N = 0$。 5. (28 分) 满足 $M - N \leq 7$,且对于 $1 \leq i \leq N-1$,有 $a_i = i, b_i = i+1$。 6. (22 分) 满足 $M - N \leq 77$。 7. (9 分) 无额外限制。 ## 注意 **本题输入输出数据量较大,建议使用高效的输入输出方式(如 C++ 的 scanf/printf 等)。** ## 样例解释 1 ギガ国的道路网络如下所示。 ![](https://img.atcoder.jp/gigacode-2019/da8b47de5e5b0d572877df4fad32b765.png) 在该道路网络中,$d(1, 2) = 1, d(1, 3) = 2, d(1, 4) = 3, d(2, 3) = 1, d(2, 4) = 2, d(3, 4) = 1$,因此答案为 $1+2+3+1+2+1=10$。 ## 样例解释 2 ギガ国的道路网络如下所示。 ![](https://img.atcoder.jp/gigacode-2019/9d66f038cfea1b8b909ce8b378c360e6.png) 在该道路网络中,任意两城市间距离均为 $1$,因此答案为 $6$。 由 ChatGPT 4.1 翻译