CF1930E 2..3...4.... Wonderful! Wonderful!
题目描述
Stack 有一个长度为 $n$ 的数组 $a$,其中 $a_i = i$,对于所有 $i$($1 \leq i \leq n$)。他将选择一个正整数 $k$($1 \leq k \leq \lfloor \frac{n-1}{2} \rfloor$),并对 $a$ 进行如下操作任意次(可能为 $0$ 次):
- 从 $a$ 中选择一个长度为 $2k+1$ 的子序列 $s$。现在,他将从 $a$ 中删除 $s$ 的前 $k$ 个元素。为了保持绝对平衡(正如一切应有的那样),他还将从 $a$ 中删除 $s$ 的后 $k$ 个元素。
Stack 想知道,对于每个 $k$($1 \leq k \leq \lfloor \frac{n-1}{2} \rfloor$),他最终可能得到多少种不同的数组 $a$。由于答案可能非常大,请输出对 $998\,244\,353$ 取模的结果。
$^\dagger$ 一个序列 $x$ 是序列 $y$ 的子序列,如果 $x$ 可以通过从 $y$ 中删除若干(可能为零或全部)元素得到。例如,$[1, 3]$、$[1, 2, 3]$ 和 $[2, 3]$ 都是 $[1, 2, 3]$ 的子序列。而 $[3, 1]$ 和 $[2, 1, 3]$ 不是 $[1, 2, 3]$ 的子序列。
输入格式
每组测试包含多组数据。第一行包含一个整数 $t$($1 \leq t \leq 2 \times 10^3$)——表示测试用例的数量。每组测试用例的描述如下。
每组测试用例的第一行包含一个整数 $n$($3 \leq n \leq 10^6$)——数组 $a$ 的长度。
保证所有测试用例中 $n$ 的总和不超过 $10^6$。
输出格式
对于每组测试用例,输出一行,共 $\lfloor \frac{n-1}{2} \rfloor$ 个用空格分隔的整数,第 $i$ 个整数表示当选择 $k=i$ 时,Stack 最终可能得到的不同数组的数量,对 $998\,244\,353$ 取模。
说明/提示
在第一个测试用例中,对于 $k=1$,可能的 $a$ 有两种:
- $[1,2,3]$;
- $[2]$。
在第二个测试用例中,对于 $k=1$,可能的 $a$ 有四种:
- $[1,2,3,4]$;
- $[1,3]$;
- $[2,3]$;
- $[2,4]$。
在第三个测试用例中,对于 $k=2$,可能的 $a$ 有两种:
- $[1,2,3,4,5]$;
- $[3]$。
由 ChatGPT 4.1 翻译