#5522. [USACO21JAN] Sum of Distances P

    ID: 5522 传统题 1000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>NOI/NOI+/CTSC动态规划 DP线段树组合数学容斥原理扫描线USACO2021O2优化

[USACO21JAN] Sum of Distances P

题目描述

Bessie 有一些无向连通图 G1,G2,…,GKG_1,G_2,…,G_K(2≤K≤5⋅1042≤K≤5⋅10^4)。对于每一个 1≤i≤K1≤i≤K,GiG_i 有 NiN_i(Ni≥2N_i≥2)个编号为 1…Ni1…N_i 的结点与 MiM_i(Mi≥Ni−1M_i≥N_i−1)条边。GiG_i 可能含有自环,但同一对结点之间不会存在多条边。 现在 Elsie 用 N1⋅N2⋯NKN_1⋅N_2⋯N_K 个结点建立了一个新的无向图 GG,每个结点用一个 KK 元组 (j1,j2,…,jK)(j_1,j_2,…,j_K) 标号,其中 1≤ji≤Ni1≤j_i≤N_i。若对于所有的 1≤i≤K1≤i≤K,jij_i 与 kik_i 在 GiG_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_i 和 MiM_i,以下是 MiM_i 条边。

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

输出格式

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

输入输出样例 #1

输入 #1

2
2 1
1 2
4 4
1 2
2 3
3 4
4 1

输出 #1

4

输入输出样例 #2

输入 #2

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

输出 #2

706

说明/提示

样例 1 解释

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

样例 2 解释

GG 包含 4⋅6⋅7=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]。

测试点特性

  • 测试点 3−43-4 满足 ∏Ni≤300∏N_i≤300。

  • 测试点 5−105-10 满足 ∑Ni≤300∑N_i≤300。

  • 测试点 11−2011-20 没有额外限制。

供题:Benjamin Qi