#P15714. [JAG 2023 Summer Camp #2] Distance Permutation

    ID: 15652 远端评测题 5000ms 1024MiB 尝试: 0 已通过: 0 难度: 9 上传者: 标签>2023生成函数快速数论变换 NTTICPC根号分治

[JAG 2023 Summer Camp #2] Distance Permutation

说明

你按照以下方式构造一个长度为 10510^5 的排列 P=(P1,P2,,P105)P = (P_1, P_2, \ldots, P_{10^5})

数轴上有 1,2,,1051, 2, \ldots, 10^5 这些点。点 ii 和点 jj 之间的距离是 ij|i - j|。此外,有一个初始为空的序列 PP。从任意点开始,重复以下操作,直到 PP 的长度达到 10510^5

  • xx 为当前点对应的数字。如果 xx 不在 PP 中,则将 xx 添加到 PP 的末尾。接着,移动到距离当前点小于等于 KK 的任意一个点。

回答以下 QQ 个查询:

  • 给定整数 N,L,RN, L, R。令从 PP 中移除大于 NN 的元素后得到的序列为 P=(P1,P2,,PN)P' = (P'_1, P'_2, \ldots, P'_N)。在所有可能的 PP' 的排列中,回答满足 P1P'_1 大于等于 LL 且小于等于 RR 的排列数量,结果对 998244353998244353 取模。

输入格式

$$\begin{aligned} &K \ Q \\ &query_1 \\ &\vdots \\ &query_Q \end{aligned}$$

queryiquery_i 表示第 ii 个查询。

每个查询的格式如下:

N L RN \ L \ R

输入满足以下约束:

  • 所有输入均为整数。
  • 1Q2×1051 \leq Q \leq 2 \times 10^5
  • 1K1051 \leq K \leq 10^5
  • 1N1051 \leq N \leq 10^5
  • 1LRN1 \leq L \leq R \leq N

输出格式

输出 QQ 行。在第 ii 行,输出第 ii 个查询的答案。

2 4
4 1 1
3 1 3
10 2 7
1 1 1
4
6
140172
1
314 6
60522 7560 25373
79445 26896 78962
33447 12441 21469
47202 17227 32455
63982 13450 41311
2156 1226 2148
925500464
455690352
567782656
893053639
942918900
458845228

提示

在样例输入 1 中,对于第一个查询,有四种可能的序列作为 PP'

  • (1,2,3,4)(1, 2, 3, 4)
  • (1,2,4,3)(1, 2, 4, 3)
  • (1,3,2,4)(1, 3, 2, 4)
  • (1,3,4,2)(1, 3, 4, 2)

翻译由 DeepSeek V3.2 完成