#P15129. [ROIR 2026] 筹码放置

    ID: 17040 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 难度: 8 上传者: 标签>动态规划 DP容斥原理2026单调栈ROIR(俄罗斯)

[ROIR 2026] 筹码放置

题目描述

给定一个大小为 m×mm \times m 的方形棋盘。棋盘的行和列从 11mm 编号。

需要在棋盘上放置筹码,使得每个格子内最多有一个筹码。同时,必须满足 nn 条限制。第 ii 条限制给出两个整数 rir_icic_i,这意味着在坐标为 [1ri]×[1ci][1 \ldots r_i] \times [1 \ldots c_i] 的矩形区域内,最多只能放置一个筹码。

要求计算满足所有限制的不同筹码放置方案的数量,并对 109+710^9+7 取模后的余数。

输入格式

输入数据的第一行包含两个整数 nnmm —— 限制的数量和棋盘的尺寸(1n21051 \le n \leq 2 \cdot 10^51m1091 \leq m \le 10^9)。

接下来 nn 行,每行包含两个数字 rir_icic_i1ri,cim1 \le r_i, c_i \le m)。

输出格式

输出一个数字 —— 允许的筹码放置方案数对 109+710^9+7 取模的结果。

1 4
4 4
17
2 2
1 2
2 1
10
3 5
2 5
3 4
4 4
4480

提示

样例解释

在第一个样例中,整个棋盘上最多只能放置一个筹码。有 4×4=164 \times 4 = 16 种放置一个筹码的方案,以及 11 种不放置任何筹码的方案。

评分规则

子任务 分值 额外限制 必要子任务
1 3 n10,m4n \le 10, m \le 4 ---
2 6 n=1,m1000n = 1, m \le 1000
3 8 n10,m1000n \le 10, m \le 1000 1, 2
4 n15,m109n \le 15, m \le 10^9 1–3
5 10 n2500,m100n \le 2500, m \le 100 1
6 n2500,m250n \le 2500, m \le 250 1, 5
7 n2500,m1000n \le 2500, m \le 1000 1–3, 5, 6
8 n2500,m105n \le 2500, m \le 10^5 1–3, 5–7
9 15 n2105,m2105n \le 2 \cdot 10^5, m \le 2 \cdot 10^5 1–3, 5–8
10 20 无额外限制 1–9

翻译由 DeepSeek 完成