题目描述
有一个长度为 N 的整数序列 a=(a1,a2,⋯,aN),所有元素初始均为 0。
给定整数 C 和 M 个区间 ([L1,R1],[L2,R2],⋯,[LM,RM])。
你需要选择 1 到 M 的一个排列 p,以及一个长度为 M 的整数序列 w=(w1,w2,⋯,wM),其中 1≤wi≤C。
然后进行 M 次操作。第 i 次操作如下:
- 将 aLpi,⋯,aRpi 的值全部变为 wi。
保证 a 的每个位置至少被一个区间覆盖。
请计算所有可能的最终序列 a 的种数,并输出对 998244353 取模的结果。
输入格式
输入从标准输入中读取,格式如下:
N M C L1 R1 L2 R2 ⋯ LM RM
输出格式
输出答案。
样例 1
输入
5 5 2
1 3
2 2
3 3
1 5
3 5
输出
16
样例 2
输入
20 30 20
1 14
1 7
1 16
3 13
1 17
4 8
2 11
4 12
9 14
3 15
11 19
1 13
4 15
8 19
3 17
15 18
10 18
1 18
17 19
16 20
1 8
8 15
13 17
1 19
13 19
1 20
6 13
10 12
11 20
17 18
输出
258066445
说明/提示
限制条件
- 1≤N≤100
- 1≤M≤2N(N+1)
- 1≤C<998244353
- 1≤Li≤Ri≤N
- (Li,Ri)=(Lj,Rj)(i=j)
- a 的每个位置至少被一个区间覆盖。
- 所有输入均为整数。
样例解释 1
可能的序列共有 16 个。例如,a=(2,1,1,1,1) 可以如下得到:
- 选择 p=(4,1,2,3,5) 和 w=(1,2,1,2,1)
- 第 1 次操作后 a 变为 (1,1,1,1,1)
- 第 2 次操作后 a 变为 (2,2,2,1,1)
- 第 3 次操作后 a 变为 (2,1,2,1,1)
- 第 4 次操作后 a 变为 (2,1,2,1,1)
- 第 5 次操作后 a 变为 (2,1,1,1,1)
由 ChatGPT 4.1 翻译