CF954F Runner's Problem
题目描述
你正在穿越一个矩形田地。这个田地可以表示为一个有 $3$ 行 $m$ 列的矩阵。$(i,j)$ 表示第 $i$ 行第 $j$ 列的一个格子。
你从 $(2,1)$ 出发,必须以 $(2,m)$ 作为路径的终点。从格子 $(i,j)$ 出发,你可以前往:
- $(i-1,j+1)$ —— 仅当 $i>1$ 时可以,
- $(i,j+1)$,
- $(i+1,j+1)$ —— 仅当 $i
输入格式
第一行包含两个整数 $n$ 和 $m$($1 \leq n \leq 10^4$,$3 \leq m \leq 10^{18}$),分别表示障碍物的数量和矩阵的列数。
接下来 $n$ 行,每行包含三个整数 $a_k$、$l_k$ 和 $r_k$($1 \leq a_k \leq 3$,$2 \leq l_k \leq r_k \leq m-1$),表示一个障碍物阻挡了所有 $(a_k,j)$,其中 $l_k \leq j \leq r_k$。有些格子可能被多个障碍物阻挡。
输出格式
输出从 $(2,1)$ 到 $(2,m)$ 的不同路径数,对 $10^9+7$ 取模。如果无法从 $(2,1)$ 到达 $(2,m)$,则输出 $0$。
说明/提示
由 ChatGPT 4.1 翻译