luogu#P7293. [USACO21JAN] Sum of Distances P

[USACO21JAN] Sum of Distances P

题目描述

Bessie 有一些无向连通图 G1,G2,,GKG_1,G_2,…,G_K2K51042≤K≤5⋅10^4)。对于每一个 1iK1≤i≤KGiG_iNiN_iNi2N_i≥2)个编号为 1Ni1…N_i 的结点与 MiM_iMiNi1M_i≥N_i−1)条边。GiG_i 可能含有自环,但同一对结点之间不会存在多条边。 现在 Elsie 用 N1N2NKN_1⋅N_2⋯N_K 个结点建立了一个新的无向图 GG,每个结点用一个 KK 元组 (j1,j2,,jK)(j_1,j_2,…,j_K) 标号,其中 1jiNi1≤j_i≤N_i。若对于所有的 1iK1≤i≤Kjij_ikik_iGiG_i 中连有一条边,则在 GG 中结点 (j1,j2,,jK)(j_1,j_2,…,j_K)(k1,k2,,kK)(k_1,k_2,…,k_K) 之间连有一条边。 定义 GG 中位于同一连通分量的两个结点的 距离 为从一个结点到另一个结点的路径上的最小边数。计算 GG 中结点 (1,1,,1)(1,1,…,1) 与所有与其在同一连通分量的结点的距离之和,对 109+710^9+7 取模。

输入格式

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

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

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

输出格式

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

2

2 1
1 2

4 4
1 2
2 3
3 4
4 1
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

提示

样例 1 解释

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

样例 2 解释

GG 包含 467=1684⋅6⋅7=168 个结点,均与结点 (1,1,1)(1,1,1) 连通。对于每一个 i[1,7]i∈[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-4 满足 Ni300∏N_i≤300
  • 测试点 5105-10 满足 Ni300∑N_i≤300
  • 测试点 112011-20 没有额外限制。

供题:Benjamin Qi