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 翻译