#CF1930E. 美妙的删除数组

美妙的删除数组

美妙的删除数组

  • 时间限制:3 秒
  • 内存限制:256 MiB

题目描述

初始数组为 a=[1,2,…,n]a=[1,2,\ldots,n]。选择一个整数 kk,满足 1≤k≤⌊(n−1)/2⌋1\le k\le\lfloor(n-1)/2\rfloor。你可以重复以下操作任意次:

  • 在当前数组中选择一个长度为 2k+12k+1 的子序列;
  • 删除该子序列最前面的 kk 个元素和最后面的 kk 个元素,保留中间元素。

对每个合法的 kk,求最终可能得到多少种不同数组。答案对 998244353998244353 取模。

输入格式

第一行包含测试用例数 tt。每个测试用例包含一行整数 nn。

输出格式

对每个测试用例输出一行 ⌊(n−1)/2⌋\lfloor(n-1)/2\rfloor 个整数,第 kk 个数表示选择该 kk 时的答案。

样例输入 1

4
3
4
5
10

样例输出 1

2
4
10 2
487 162 85 10

数据范围

  • 1≤t≤20001\le t\le2000;
  • 3≤n≤1063\le n\le10^6;
  • 所有测试用例的 nn 之和不超过 10610^6。
子任务编号 分值 特殊限制
1 20 n≤14n\le14,t≤10t\le10,∑n≤100\sum n\le100
2 40 n≤2000n\le2000,t≤20t\le20,∑n≤104\sum n\le10^4
3 无特殊限制

题目来源:Codeforces 1930E。