#P3235. 「POI2019 R1」Przedszkole

「POI2019 R1」Przedszkole

题目描述

题目译自 POI XXVII - I etapPrzedszkole

有一个 nn 个点 mm 条边的无向图,每个点从 11nn 编号。你有 kk 种颜色,要给每个点染色,使得有边相连的两个点颜色不一样。求出染色方案数,对 109+710^9+7 取模。

输入格式

第一行包含 33 个整数 nnmmzz,表示图中点个数,边条数和询问个数。

接下来 mm 行,每行包含两个整数 aia_ibib_i,表示点 aia_ibib_i 之间有一条边相连。保证不会有重边和自环。

接下来 zz 行,每行包含一个整数 kik_i,表示你有 kik_i 种颜色。

输出格式

对于每组数据,输出你有 kik_i 种颜色时的染色方案数,对 109+710^9+7 取模。

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

附加样例

附加样例参见 prz/prz*.inprz/prz*.out

  • 附加样例 11n=5,m=10n=5,m=10,两个询问 k{5,6}k \in \{5, 6\}

  • 附加样例 22n=11,m=40n=11,m=40,一个询问 k=15k=15

  • 附加样例 33n=100,m=15n=100,m=1555 个询问,kk[10,100][10, 100] 里面随机;

  • 附加样例 44n=100,m=100n=100,m=100,所有点构成了一个环;三个询问 k{5,10,15}k \in \{5, 10, 15\}

数据范围与提示

对于 100%100\% 的数据,$1 \le n \le 10^5, 0 \le m \le \min(10^5, n(n-1)/2), 1 \le z \le 1000, 1 \le a_i, b_i \le n, 1 \le k_i \le 10^9$。

Subtask # 额外限制 分值
1 n 8,k8,z50n \le 8, k \le 8, z \le 50 88
2 n 15n \le 15 2626
3 m24m \le 24 3333
4 每个点恰好有两条边和它相连 3333