「EZEC-10」序列
题目背景
> 精准的解析刻画,是应该首先尝试的突破口。
——command_block 《考前小贴士》
题目描述
请问有多少个不同的序列 $a$,满足:
1. $a$ 的长度为 $n$。
2. $a$ 中的元素均为不大于 $k$ 的非负整数。
3. 满足 $m$ 组形如 $(x_i,y_i,z_i)$ 且 $x_i<y_i$ 的限制,每组限制的意义为 $a_{x_i} \oplus a_{y_i} = z_i$ ($\oplus$ 表示按位异或运算)。
两个序列相同,当且仅当它们所有元素均相同。
请输出答案对 $10^9+7$ []($114514\times(114\times5\times14+((1+145)\times(1+4)+(1\times14+5-1+4)))+(114\times514+(11\times(451+4)+(-1+145+14)))$)取模的结果。
输入输出格式
输入格式
输入共 $m+1$ 行:
- 第一行三个数,$n,m,k$。
- 接下来 $m$ 行,每行 $3$ 个数,$x_i,y_i,z_i$。
输出格式
输出仅一行,表示答案对 $10^9+7$ 取模的结果。
输入输出样例
输入样例 #1
3 1 2
1 2 1
输出样例 #1
6
输入样例 #2
5 1 12
1 2 3
输出样例 #2
26364
说明
【样例 $1$ 说明】
共有 $6$ 种序列:$\{0,1,0\},\{0,1,1\},\{0,1,2\},\{1,0,0\},\{1,0,1\},\{1,0,2\}$。
【数据规模与约定】
**本题采用捆绑测试。**
- Subtask 1(1 point):$n=1$。
- Subtask 2(5 points):$m=0$。
- Subtask 3(15 points):$n,m,k\le 5$。
- Subtask 4(10 points):$z_i=0$。
- Subtask 5(20 points):$k\le 16$。
- Subtask 6(2 points):数据随机。
- Subtask 7(47 points):无特殊限制。
对于 $100\%$ 的数据,$1 \leq n \leq 5 \times 10^5$,$0 \le m \le 5 \times 10^5$,$0 \le z_i<2^{30}$,$1 \leq k< 2^{30}$,$1\le x_i,y_i\le n$。
【提示】
如果你不知道什么是异或,请点击[这里](https://baike.baidu.com/item/%E5%BC%82%E6%88%96#:~:text=%E5%BC%82%E6%88%96%E4%B9%9F%E5%8F%AB%E5%8D%8A,%E8%AE%A4%E4%BD%9C%E4%B8%8D%E8%BF%9B%E4%BD%8D%E5%8A%A0%E6%B3%95%E3%80%82&text=%E7%A8%8B%E5%BA%8F%E4%B8%AD%E6%9C%89%E4%B8%89%E7%A7%8D%E6%BC%94%E7%AE%97%E5%AD%90%EF%BC%9AXOR%E3%80%81eor%E3%80%81%E2%8A%95%E3%80%82)。