#P51422. 「USACO 2021.1 Platinum」Sum of Distances

「USACO 2021.1 Platinum」Sum of Distances

题目描述

题目来自 USACO 2021 January Contest, Platinum Problem 1. Sum of Distances

Bessie 有一些无向连通图 G1,G2,,GKG_1, G_2, \ldots , G_K2K5×1042 \le K \le 5 \times {10}^4)。对于每一个 1iK1 \le i \le KGiG_iNiN_iNi2N_i \ge 2)个编号为 1Ni1 \ldots N_i 的结点与 MiM_iMiNi1M_i \ge N_i - 1)条边。GiG_i 可能含有自环,但同一对结点之间不会存在多条边。

现在 Elsie 用 N1N2NKN_1 \cdot N_2 \cdot \ldots \cdot N_K 个结点建立了一个新的无向图 GG,每个结点用一个 KK 元组 (j1,j2,,jK)(j_1, j_2, \ldots , j_K) 标号,其中 1jiNi1 \le j_i \le N_i。若对于所有的 1iK1 \le i \le Kjkj_kkik_iGiG_i 中连有一条边,则在 GG 中结点 (j1,j2,,jK)(j_1, j_2, \ldots , j_K)(k1,k2,,kK)(k_1, k_2, \ldots , k_K) 之间连有一条边。

定义 GG 中位于同一连通分量的两个结点的_距离_为从一个结点到另一个结点的路径上的最小边数。计算 GG 中结点 (1,1,,1)(1, 1, \ldots, 1) 与所有与其在同一连通分量的结点的距离之和,对 109+7{10}^9 + 7 取模。

输入格式

输入的第一行包含 KK,为图的数量。

每个图的描述的第一行包含 NiN_iMiM_i,以下是 MiM_i 条边。

为提高可读性,相邻的图之间用一个空行隔开。输入保证 Ni105\sum N_i \le {10}^5 以及 Mi2×105\sum M_i \le 2 \times {10}^5

输出格式

输出结点 (1,1,,1)(1, 1, \ldots, 1) 与所有该结点可以到达的结点的距离之和,对 109+7{10}^9 + 7 取模。

样例 1

2

2 1
1 2

4 4
1 2
2 3
3 4
4 1

4

GG 包含 24=82 \cdot 4 = 8 个结点,其中 44 个结点不与结点 (1,1)(1, 1) 连通。有 22 个结点与 (1,1)(1, 1) 的距离为 1111 个结点的距离为 22。所以答案为 21+12=42 \cdot 1 + 1 \cdot 2 = 4

3

4 4
1 2
2 3
3 1
3 4

6 5
1 2
2 3
3 4
4 5
5 6

7 7
1 2
2 3
3 4
4 5
5 6
6 7
7 1

706

GG 包含 467=1684 \cdot 6 \cdot 7 = 168 个结点,均与结点 (1,1,1)(1, 1, 1) 连通。对于每一个 i[1,7]i \in [1, 7],与结点 (1,1,1)(1, 1, 1) 距离为 ii 的结点数量为下列数组中的第 ii 个元素:[4,23,28,36,40,24,12][4, 23, 28, 36, 40, 24, 12]

数据范围与提示

测试点 343 \sim 4 满足 Ni300\prod N_i \le 300
测试点 5105 \sim 10 满足 Ni300\sum N_i \le 300
测试点 112011 \sim 20 没有额外限制。