P15714 [JAG 2023 Summer Camp #2] Distance Permutation
题目描述
你按照以下方式构造一个长度为 $10^5$ 的排列 $P = (P_1, P_2, \ldots, P_{10^5})$。
数轴上有 $1, 2, \ldots, 10^5$ 这些点。点 $i$ 和点 $j$ 之间的距离是 $|i - j|$。此外,有一个初始为空的序列 $P$。从任意点开始,重复以下操作,直到 $P$ 的长度达到 $10^5$:
- 令 $x$ 为当前点对应的数字。如果 $x$ 不在 $P$ 中,则将 $x$ 添加到 $P$ 的末尾。接着,移动到距离当前点小于等于 $K$ 的任意一个点。
回答以下 $Q$ 个查询:
- 给定整数 $N, L, R$。令从 $P$ 中移除大于 $N$ 的元素后得到的序列为 $P' = (P'_1, P'_2, \ldots, P'_N)$。在所有可能的 $P'$ 的排列中,回答满足 $P'_1$ 大于等于 $L$ 且小于等于 $R$ 的排列数量,结果对 $998244353$ 取模。
输入格式
$$
\begin{aligned}
&K \ Q \\
&query_1 \\
&\vdots \\
&query_Q
\end{aligned}
$$
$query_i$ 表示第 $i$ 个查询。
每个查询的格式如下:
$$N \ L \ R$$
输入满足以下约束:
- 所有输入均为整数。
- $1 \leq Q \leq 2 \times 10^5$
- $1 \leq K \leq 10^5$
- $1 \leq N \leq 10^5$
- $1 \leq L \leq R \leq N$
输出格式
输出 $Q$ 行。在第 $i$ 行,输出第 $i$ 个查询的答案。
说明/提示
在样例输入 1 中,对于第一个查询,有四种可能的序列作为 $P'$:
- $(1, 2, 3, 4)$
- $(1, 2, 4, 3)$
- $(1, 3, 2, 4)$
- $(1, 3, 4, 2)$
翻译由 DeepSeek V3.2 完成