P11508 [ROIR 2017] 数据存放 (Day 1)

题目背景

翻译自 [ROIR 2017 D1T3](https://neerc.ifmo.ru/school/archive/2016-2017/ru-olymp-regional-2017-day1.pdf)。

题目描述

一家公司大型的电信网络包含了 $n$ 台服务器,编号从 $1$ 到 $n$。其中,有一些服务器对之间通过双向通信通道连接,共有 $m$ 个通道。保证该网络中的服务器通过这些通道可以相互通信。 我们称一个服务器集合 $A$ 被称为“容错集合”,当且仅当在任意一条通道失效的情况下,满足以下条件: - 对于任何不属于集合 $A$ 的服务器 $X$,总能通过剩下的通道将数据从集合 $A$ 中的某一台服务器传输到服务器 $X$。 下图显示了一个网络和一个容错集合 $A=\{1,4\}$。 - 对于服务器 $2$,当服务器 $1$ 和 $2$ 之间的通道失效时,可以从服务器 $4$ 传输数据;当服务器 $2$ 和 $3$ 之间的通道失效时,可以从服务器 $1$ 传输数据。当其它通道失效时,两个服务器都可以向其传输数据。 - 对于服务器 $3$ 和 $5$,当任何通道失效时,可以通过其它通道从服务器 $4$ 传输数据。 ![](https://cdn.luogu.com.cn/upload/image_hosting/mif7u71b.png) 公司的开发团队需要将他们的数据存放在这个网络中。为了提高数据的可用性和容错性,开发者希望将数据备份存储在多个服务器上,这些服务器需要形成一个容错集合。为了最小化开销,需要选择包含的服务器数量最少的容错集合。此外,为了了解网络的灵活性,还需要计算选择这个容错集合的不同方式的数量,由于这个数量可能很大,你只需要输出这个数对 $10^9 + 7$ 取模的结果。

输入格式

输出格式

说明/提示

### 样例解释 在样例中,容错集合可以为 $\{1, 3\},\{1, 4\} , \{1, 5\}$。 ### 数据范围 本题满分为 $101$ 分。 | 子任务 | 分值 | $n$ | $m$ | | :----------: | :----------: | :----------: | :----------: | | $1$ | $25$ | $2\le n\le10$ | $1\le m\le45$ | | $2$ | $27$ | $2\le n\le200000$ | $m=n-1$ | | $3$ | $28$ | $2\le n\le1000$ | $1\le m\le5000$ | | $4$ | $21$ | $2\le n\le200000$ | $1\le m\le200000$ |