#5122. Problem 1. Sum of Distances

0

Problem 1. Sum of Distances

Problem 1. Sum of Distances

USACO 2021 January Contest, Platinum

Bessie 有一些无向连通图 G1,G2,,GKG_1,G_2,\ldots,G_K2K51042\le K\le 5\cdot 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\cdots 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 Kjij_ikik_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+710^9+7 取模。

输入格式(从终端/标准输入读入):

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

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

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

输出格式(输出至终端/标准输出):

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

输入样例:


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]

测试点性质: 测试点 3-4 满足 Ni300\prod N_i\le 300。测试点 5-10 满足 Ni300\sum N_i\le 300。测试点 11-20 没有额外限制。

供题:Benjamin Qi