#HK4299. 「ROIR 2019 Day1」机器学习

「ROIR 2019 Day1」机器学习

题目描述

译自 ROI Regional 2019 Day1 T4. Машинное обучение

在人工智能实验室中,开发了一种新的机器学习方法。在训练过程中,程序会进行 nn 次迭代。每次迭代中,训练程序会在某个训练集上运行。

训练集的复杂度从 00kk 不等。训练计划由一个整数数组 [a1,a2,,an][a_{1}, a_{2}, \ldots, a_{n}] 表示,其中 aia_{i} 表示第 ii 次迭代中使用的训练集的复杂度。对于所有 ii11nn,必须满足 0aik0 \leq a_{i} \leq k

研究发现,训练计划的有效性取决于训练集复杂度的位表示。为了使计划有效,必须满足对于任意两个值 iijj,其中 1i<jn1 \leq i < j \leq n,都有 (aiandaj)=ai(a_{i} \operatorname{and} a_{j})=a_{i}。回顾一下,两个非负整数的按位(and)操作如下:将两个数写成二进制形式,如果两个数的第 ii 位都是 11,则结果的第 ii 位为 11。例如,$(14 \operatorname{and} 7)=(1110_{2} \operatorname{and} 0111_{2})=110_{2}=6$。

然而,持续使用相同复杂度的训练集不会带来学习进展。为了避免这种情况,训练计划必须满足 mm 个要求。每个要求由两个数字 lil_{i}rir_{i} 表示,意味着 aliaria_{l_{i}} \neq a_{r_{i}}

实验室的工作人员希望找到满足所有要求的有效计划的数量。由于这个数量可能非常大,需要计算它除以 109+710^{9}+7 的余数。

编写一个程序,根据给定的整数 nnkk,以及 mm 个要求 li,ril_{i}, r_{i},确定满足所有要求的有效计划的数量,并输出这个数量除以 109+710^{9}+7 的余数。

输入格式

第一行输入包含三个整数 n,m,kn, m, k $(1 \leq n \leq 3 \cdot 10^{5}, 0 \leq m \leq 3 \cdot 10^{5}, 0 \leq k \leq 10^{18})$,分别表示训练迭代次数、要求数量和训练集的最大复杂度。

接下来的 mm 行描述了要求,第 ii 行包含两个整数 li,ril_{i}, r_{i} (1li<rin)(1 \leq l_{i} < r_{i} \leq n),表示 aliaria_{l_{i}} \neq a_{r_{i}}。保证所有要求都是不同的。

输出格式

输出一个整数,表示满足所有要求的有效计划的数量除以 109+710^{9}+7 的余数。

2 0 3
9

第一个样例的所有可能计划:$[0,0],[0,1],[0,2],[0,3],[1,1],[1,3],[2,2],[2,3],[3,3]$。

3 1 2
1 2
2

第二个样例的可能计划:[0,1,1],[0,2,2][0,1,1],[0,2,2]

数据范围与提示

详细子任务附加限制及分值如下表所示。

子任务 分值 附加限制 子任务依赖
11 88 1n500,m=0,0k5001 \leq n \leq 500, m=0, 0 \leq k \leq 500
22 2020 $1 \leq n \leq 3 \cdot 10^{5}, m=0, 0 \leq k \leq 10^{7}$ 11
33 1010 $1 \leq n \leq 3 \cdot 10^{5}, m=0, 0 \leq k \leq 10^{18}$ 1,21,2
44 88 $1 \leq n \leq 50, 0 \leq m \leq 50, 0 \leq k \leq 50$
55 1616 $1 \leq n \leq 2000, 0 \leq m \leq 2000, 0 \leq k \leq 10^{7}$ 1,41,4
66 66 $1 \leq n \leq 2000, 0 \leq m \leq 2000, 0 \leq k \leq 10^{18}$ 1,4,51,4,5
77 1010 $1 \leq n \leq 3 \cdot 10^{5}, 0 \leq m \leq 200, 0 \leq k \leq 10^{7}$ 1,2,41,2,4
88 66 $1 \leq n \leq 3 \cdot 10^{5}, 0 \leq m \leq 200, 0 \leq k \leq 10^{18}$ 1,2,3,4,71,2,3,4,7
99 1616 $1 \leq n \leq 3 \cdot 10^{5}, 0 \leq m \leq 3 \cdot 10^{5}, 0 \leq k \leq 10^{18}$ 181\sim 8