模型:将区间按左端点排序,设公共长度为 L,左端点为升序数组 a1,…,an。
相交判定:两个区间相交当且仅当左端点差小于 L。
预处理:
DP 定义:f[i] 表示从第 i 个“尚未被覆盖”的区间开始,选出一组满足条件的方案数。
关键转移:第 i 个必须被某个 j∈[i,R[i]] 覆盖,于是
对于给定的n个长度相同的区间,第i个区间的左端点为li,
右端点为ri,且全部区间的长度ri−li+1固定。
你需要从中任选若干个不同的区间,使得:
一共有多少种不同的选择方案?由于答案可能很大,请将答案对998 244 353取模后输出。
[名词解释]
交集: 我们定义两个闭区间[l1,r1]和[l2,r2]存在交集,当且仅当 max(l1,l2)≦min(r1,r2)。换言之,仅在端点处重合也视为存在交集。
第一行输入一个整数n(2≦n≦105)代表区间的数量。
此后n 行,第i行输入两个整数li和ri(1≦li≦ri≦2×109)代表第i个区间的左端点和右端点。
保证所有区间的长度相同。
输出一个整数,代表一共有多少种不同的选择方案。由于答案可能很大,请将答案对998 244 353取模后输出。
输入
3
1 3
2 4
3 5
输出
3
说明
在这个样例中,一共有三种不同的选择方案:
输入
3
1 2
3 4
5 6
输出
1
说明
在这个样例中,唯一的选择方案是同时选择全部区间。
输入
7
10 13
1 4
9 12
5 8
4 7
7 10
8 11
输出
7