题目名称 3576. [USACO21Feb Platinum]图的计数(Counting Graphs)
输入输出 graph.in/out
难度等级 ★★★★☆
时间限制 1000 ms (1 s)
内存限制 256 MiB
测试数据 20
题目来源 Gravatar数声风笛ovo 于2021-04-03加入
开放分组 全部用户
提交状态
分类标签
查看题解 分享题解
通过:1, 提交:1, 通过率:100%
Gravatarop_组撒头屯 100 0.000 s 0.00 MiB C++
关于 图的计数(Counting Graphs) 的近10条评论(全部评论)

3576. [USACO21Feb Platinum]图的计数(Counting Graphs)

★★★★☆   输入文件:graph.in   输出文件:graph.out   简单对比
时间限制:1 s   内存限制:256 MiB

【题目描述】

Bessie 有一个连通无向图 $G$。$G$ 有 $N$ 个编号为 $1\ldots N$ 的结点,以及 $M$ 条边($1\le N\le 10^2, N-1\le M\le \frac{N^2+N}{2}$)。$G$ 有可能包含自环(一个结点连到自身的边),但不包含重边(连接同一对结点的多条边)。

令 $f_G(a,b)$ 为一个布尔函数,对于每一个 $1\le a\le N$ 和 $0\le b$,如果存在一条从结点 $1$ 到结点 $a$ 的路径恰好经过了 $b$ 条边,则函数值为真,否则为假。如果一条边被经过了多次,则这条边会被计算相应的次数。

Elsie 想要复制 Bessie。具体地说,她想要构造一个无向图 $G'$,使得对于所有的 $a$ 和 $b$,均有 $f_{G'}(a,b)=f_G(a,b)$。

你的工作是计算 Elsie 可以构造的图 $G'$ 的数量,对 $10^9+7$ 取模。与 $G$ 一样,$G'$ 可以包含自环而不能包含重边(这意味着对于 $N$ 个有标号结点共有 $2^{\frac{N^2+N}{2}}$ 个不同的图)。

【输入格式】

输入的第一行包含 $T$,为测试用例的数量。

每个测试用例的第一行包含整数 $N$ 和 $M$。

每个测试用例的以下 $M$ 行每行包含两个整数 $x$ 和 $y$($1\le x\le y\le N$),表示 $G$ 中存在一条连接 $x$ 与 $y$ 的边。

为提高可读性,相邻的测试用例之间用一个空行隔开。

【输出格式】

对每个测试用例,输出一行,为不同的 $G'$ 的数量,对 $10^9+7$ 取模。

【样例输入1】

1

5 4
1 2
2 3
1 4
3 5

【样例输出1】

3

【样例输入输出2】

在此下载

【样例说明】

【样例 1 解释】

在第一个测试用例中,$G'$ 可以等于 $G$,或以下两个图之一:

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

【样例 2 解释】

有一些较大的测试用例。确保你的答案对 $10^9+7$ 取模。注意倒数第二个测试用例的答案为 $2^{45}\pmod{10^9+7}$。

【数据规模与约定】

测试点 3 的所有测试用例满足 $N\le 5$。

测试点 4-5 的所有测试用例满足 $M=N-1$。

测试点 6-11 的所有测试用例中,如果并非对于所有的 $b$ 均有 $f_G(x,b)=f_G(y,b)$,则存在 $b$ 使得 $f_G(x,b)$ 为真且 $f_G(y,b)$ 为假。

测试点 12-20 中的测试用例没有额外限制。

每个输入包含 $T$($1\le T\le \frac{10^5}{4}$)组独立的测试用例。保证所有测试用例中的 $N^2$ 之和不超过 $10^5$。

【来源】

USACO 二月公开赛 Platinum 组