#P9490. ZHY 的矩阵

    ID: 10152 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 显示难度省选/NOI− 上传者: 标签>动态规划 DP递推O2优化分类讨论

ZHY 的矩阵

题目描述

ZHY 的记忆中有一个 kk 行 nn 列的 01 矩阵 AA,满足下列条件:

  • 每一列都至多有一个 11。
  • 每行相邻的两个 11 所在的两列夹出的 kk 行的矩形(包括这两列)内至少有三个 11。

突然,ZHY 想起来了矩阵中 xx 个位置的值。请你计算有多少种填充 AA 的剩余位置的方案,使得 AA 满足条件。


形式化的讲,设 AA 第 ii 行第 jj 列的数为 Ai,jA_{i,j},则 AA 满足下列条件:

  • 对于 ∀i∈[1,k],j∈[1,n]\forall i \in [1,k],\kern{2pt}j \in [1,n],Ai,j∈{0,1}A_{i,j} \in \{0,1\}。

  • 对于 ∀i∈[1,n]\forall i \in [1,n],∑j=1kAj,i≤1\displaystyle\sum_{j=1}^{k} A_{j,i}\le 1。

  • 对于 ∀i,j∈[1,n],p∈[1,k]\forall i,j \in [1,n],\kern{2pt}p \in [1,k] 且 j>ij>i,若有 $A_{p,i}=A_{p,j}=1,\displaystyle \sum_{x=i}^{j}A_{p,x}=2$,则有 $\Big(\displaystyle \sum_{x=1}^{k} \sum_{y=i}^{j} A_{x,y}\Big) \ge 3$。

  • 对于 ∀i∈[1,x]\forall i\in[1,x],有 Aai,bi=ciA_{a_{i},b_{i}}=c_{i}。

由于答案可能很大,你只需告诉 ZHY 答案对 109+710^{9}+7 取模的结果。定义两个矩阵 A,A′A,A' 不同,当且仅当存在 i∈[1,k]i\in[1,k],j∈[1,n]j\in[1,n] 满足 Ai,j≠Ai,j′A_{i,j}\ne A'_{i,j}。

输入格式

第一行三个整数,表示 n,k,xn,k,x。

接下来 xx 行,每行三个整数 ai,bi,cia_{i},b_{i},c_{i}。

输出格式

一行一个整数,表示答案。

3 2 2
1 1 1
2 2 0

2

提示

样例解释

满足条件的矩阵只有以下 22 种:

{100000}\begin{Bmatrix} 1&0&0\\ 0&0&0 \end{Bmatrix} {100001}\begin{Bmatrix} 1&0&0\\ 0&0&1 \end{Bmatrix}

本题采用捆绑测试。

Subtaskid\mathrm{Subtask} \kern{2pt} \mathrm{id} nn xx 特殊性质 分值
00 ≤8\le 8 k=2k=2 1212
11 ≤2×105\le 2 \times 10^{5} ≤2×105\le 2\times 10^{5} 无 2626
22 ≤109\le 10^{9} =0=0 2323
33 ≤2×105\le 2\times 10^{5} ci=1c_{i}=1 1515
44 无 2424

对于所有数据,1≤n≤1091 \le n \le 10^{9},0≤x≤2×1050 \le x \le 2\times 10^{5},2≤k≤1002\le k \le 100。1≤ai≤k1 \le a_{i} \le k,1≤bi≤n1 \le b_{i} \le n,ci∈{0,1}c_{i} \in \{0,1\}。保证不存在一对 i,j∈[1,x],i≠ji,j \in [1,x],\kern{2pt}i\neq j,满足 ai=aj,bi=bja_{i}=a_{j},\kern{2pt}b_{i}=b_{j}。