A3925 「ROIR 2026 Day1」棋子摆放

暂无评定 传统题 ROIR(俄罗斯) 上传者
时间限制1000ms
内存限制512MiB
通过 / 提交0/0

A3925「ROIR 2026 Day1」棋子摆放

暂无评定 传统题 ROIR(俄罗斯) 上传者
时间限制1000ms
内存限制512MiB
通过 / 提交0/0

题目描述

译自 ROI Regional 2026 Day1 T3. Расстановки фишек

给定一块 m×mm \times m 的方形棋盘,行和列均从 11 到 mm 编号。

需要在棋盘上摆放棋子,使得每格至多有一个棋子(即棋子不能重叠)。同时需满足 nn 个限制条件。第 ii 个限制给出两个整数 rir_i 和 cic_i,表示在左上角子矩形 [1…ri]×[1…ci][1 \ldots r_i] \times [1 \ldots c_i] 中,至多只能放置一个棋子。

求满足所有限制条件的不同摆放方案数量,对 109+710^9 + 7 取模。

输入格式

第一行两个整数 n,mn, m (1≤n≤2⋅105, 1≤m≤109)(1 \leq n \leq 2 \cdot 10^5,\ 1 \leq m \leq 10^9),分别表示限制数量和棋盘大小。

接下来 nn 行,每行两个整数 ri,cir_i, c_i (1≤ri,ci≤m)(1 \leq r_i, c_i \leq m)。

输出格式

输出一个整数,表示满足所有限制的合法摆放方案数量,对 109+710^9 + 7 取模。

1 4
4 4

17

整个棋盘上至多只能放置一个棋子。 有 4×4=164 \times 4 = 16 种放置一个棋子的方案,加上 11 种不放置任何棋子的空方案,总计 1717 种。

2 2
1 2
2 1

10

3 5
2 5
3 4
4 4

4480

数据范围与提示

详细子任务附加限制及分值如下表所示(只有通过本子任务及所有必要子任务的所有测试,才能获得对应分数):

子任务 分值 附加限制 子任务依赖
11 33 n≤10, m≤4n \leq 10,\ m \leq 4
22 66 n=1, m≤1000n = 1,\ m \leq 1000
33 88 n≤10, m≤1000n \leq 10,\ m \leq 1000 1,21, 2
44 88 n≤15, m≤109n \leq 15,\ m \leq 10^9 1∼31\sim 3
55 1010 n≤2500, m≤100n \leq 2500,\ m \leq 100 11
66 1010 n≤2500, m≤250n \leq 2500,\ m \leq 250 1,51, 5
77 1010 n≤2500, m≤1000n \leq 2500,\ m \leq 1000 1∼3,5,61\sim 3, 5, 6
88 1010 n≤2500, m≤105n \leq 2500,\ m \leq 10^5 1∼3,5∼71\sim 3, 5\sim 7
99 1515 n≤2⋅105, m≤2⋅105n \leq 2 \cdot 10^5,\ m \leq 2 \cdot 10^5 1∼3,5∼81\sim 3, 5\sim 8
1010 2020 无附加限制 1∼91\sim 9