Codeforces Round 641 (Div. 1)
F2
Slime and Sequences (Hard Version)
Codeforces
3500
原题
← F1→
翻译中…

Note that the only differences between easy and hard versions are the constraints on $n$ and the time limit. You can make hacks only if all versions are solved.

翻译中…

Slime is interested in sequences. He defined good positive integer sequences $p$ of length $n$ as follows:

翻译中…
  • For each $k \gt 1$ that presents in $p$, there should be at least one pair of indices $i,j$, such that $1 \leq i \lt j \leq n$, $p_i = k - 1$ and $p_j = k$.
翻译中…

For the given integer $n$, the set of all good sequences of length $n$ is $s_n$. For the fixed integer $k$ and the sequence $p$, let $f_p(k)$ be the number of times that $k$ appears in $p$. For each $k$ from $1$ to $n$, Slime wants to know the following value:

翻译中…

$$\left(\sum_{p\in s_n} f_p(k)\right)\ \textrm{mod}\ 998\,244\,353$$

翻译中…

Input

翻译中…

The first line contains one integer $n\ (1\le n\le 100\,000)$.

翻译中…

Output

翻译中…

Print $n$ integers, the $i$-th of them should be equal to $\left(\sum_{p\in s_n} f_p(i)\right)\ \textrm{mod}\ 998\,244\,353$.

翻译中…

Note

翻译中…

In the first example, $s=\{[1,1],[1,2]\}$.

翻译中…

In the second example, $s=\{[1,1,1],[1,1,2],[1,2,1],[1,2,2],[2,1,2],[1,2,3]\}$.

翻译中…

In the third example, $s=\{[1]\}$.

翻译中…

样例

Input #1
2
Output #1
3 1
InputCopy OutputCopy
Input #2
3
Output #2
10 7 1
InputCopy OutputCopy
Input #3
1
Output #3
1
InputCopy OutputCopy
题目信息
题号
1349F2
时间限制
3 s
内存限制
256 MB
标签
动态规划
FFT
数学

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。