CF1930E.2..3...4.... Wonderful! Wonderful!
提高+/省选-
通过率:0%
时间限制:3.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Stack has an array a of length n such that ai=i for all i (1≤i≤n). He will select a positive integer k (1≤k≤⌊2n−1⌋) and do the following operation on a any number (possibly 0) of times.
- Select a subsequence† s of length 2⋅k+1 from a. Now, he will delete the first k elements of s from a. To keep things perfectly balanced (as all things should be), he will also delete the last k elements of s from a.
Stack wonders how many arrays a can he end up with for each k (1≤k≤⌊2n−1⌋). As Stack is weak at counting problems, he needs your help.
Since the number of arrays might be too large, please print it modulo 998244353.
† A sequence x is a subsequence of a sequence y if x can be obtained from y by deleting several (possibly, zero or all) elements. For example, [1,3], [1,2,3] and [2,3] are subsequences of [1,2,3]. On the other hand, [3,1] and [2,1,3] are not subsequences of [1,2,3].
Stack 有一个长度为 n 的数组 a,满足对所有 i(1≤i≤n)都有 ai=i。他将选择一个正整数 k(1≤k≤⌊2n−1⌋),并对数组 a 执行以下操作任意多次(可能为 0 次):
- 从 a 中选取一个长度为 2⋅k+1 的子序列† s。接着,他将从 a 中删除 s 的前 k 个元素;为保持完全平衡(正如万物本应如此),他还将从 a 中删除 s 的后 k 个元素。
Stack 想知道:对每个 k(1≤k≤⌊2n−1⌋),最终能得到多少种不同的数组 a?由于 Stack 不擅长计数问题,他需要你的帮助。
由于可能的数组数量过大,请将答案对 998244353 取模后输出。
† 序列 x 是序列 y 的一个子序列,当且仅当 x 可通过从 y 中删除若干个(可能为零个或全部)元素而得到。例如,[1,3]、[1,2,3] 和 [2,3] 都是 [1,2,3] 的子序列;而 [3,1] 和 [2,1,3] 则不是 [1,2,3] 的子序列。
输入格式
Each test contains multiple test cases. The first line contains a single integer t (1≤t≤2⋅103) — the number of test cases. The description of the test cases follows.
The first line of each test case contains a single integer n (3≤n≤106) — the length of the array a.
It is guaranteed that the sum of n over all test cases does not exceed 106.
每个测试包含多个测试用例。第一行包含一个整数 t(1≤t≤2⋅103),表示测试用例的数量。随后是各测试用例的描述。
每个测试用例的第一行包含一个整数 n(3≤n≤106),表示数组 a 的长度。
保证所有测试用例的 n 之和不超过 106。
输出格式
For each test, on a new line, print ⌊2n−1⌋ space-separated integers — the i-th integer representing the number of arrays modulo 998244353 that Stack can get if he selects k=i.
对于每个测试用例,在新的一行中输出 ⌊2n−1⌋ 个以空格分隔的整数——其中第 i 个整数表示当 Stack 选择 k=i 时,他能得到的不同数组的数目(对 998244353 取模)。
输入输出样例
输入#1
4 3 4 5 10
输出#1
2 4 10 2 487 162 85 10
说明/提示
In the first test case, two a are possible for k=1:
- [1,2,3];
- [2].
In the second test case, four a are possible for k=1:
- [1,2,3,4];
- [1,3];
- [2,3];
- [2,4].
In the third test case, two a are possible for k=2:
- [1,2,3,4,5];
- [3].
在第一个测试用例中,当 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]。
输入解题思路,AI测评打分。不知道怎么写?