#ABC179D. 跳跃

跳跃

跳跃

题目描述

有一个由排成一列的 NN 个格子组成的棋盘,格子从左到右依次编号为 1,2,,N1, 2, \ldots, N

高桥君住在这个棋盘上,他现在在格子 11,打算按后述方法反复移动前往格子 NN

给定不超过 1010 的整数 KK,以及互不重叠的 KK 个区间 [L1,R1],[L2,R2],,[LK,RK][L_1, R_1], [L_2, R_2], \ldots, [L_K, R_K],把这些区间的并集记为 SS。其中,区间 [l,r][l, r] 表示由 ll 以上 rr 以下的整数组成的集合。

  • 在格子 ii 时,从 SS 中选一个整数(记为 dd),移动到格子 i+di + d。但是,不允许进行移出棋盘的移动。

请为高桥君求出到格子 NN 的方法数除以 998244353998244353 的余数。

输入格式

输入按以下格式从标准输入给出:

NN KK
L1L_1 R1R_1
L2L_2 R2R_2
::
LKL_K RKR_K

输出格式

输出高桥君从格子 11 到格子 NN 的方法数除以 998244353998244353 的余数。

样例

5 2
1 1
3 4
4

集合 SS 是区间 [1,1][1, 1] 和区间 [3,4][3, 4] 的并集,S={1,3,4}S = \{ 1, 3, 4 \}

移动到格子 55 的方法有以下 44 种:

  • 按格子 1,2,3,4,51, 2, 3, 4, 5 的顺序移动。
  • 按格子 1,2,51, 2, 5 的顺序移动。
  • 按格子 1,4,51, 4, 5 的顺序移动。
  • 按格子 1,51, 5 的顺序移动。
5 2
3 3
5 5
0

S={3,5}S = \{ 3, 5 \},本来就无法到达格子 55,所以输出 00

5 1
1 2
5
60 3
5 8
1 3
10 15
221823067

注意要输出除以 998244353998244353 的余数。

数据范围

  • 2N2×1052 \leq N \leq 2 \times 10^5
  • 1Kmin(N,10)1 \leq K \leq \min(N, 10)
  • 1LiRiN1 \leq L_i \leq R_i \leq N
  • [Li,Ri][L_i, R_i][Lj,Rj][L_j, R_j] 互不重叠(iji \neq j)
  • 输入均为整数
难度 普及+/提高-
通过率
尝试 0
已通过 0
ID
2013
类型
传统题
Time Limit
2000ms
Memory Limit
1024MiB
上传者
标签