AT_abc456_g [ABC456G] Count Holidays

题目描述

高桥正在为 $N$ 天制定一个工作计划,通过指定每一天为工作日或休息日。 你会得到一个长度为 $N$ 的字符串 $S$,表示对工作日的约束。如果 $S$ 的第 $i$ 个字符为 `x`,第 $i$ 天必须为工作日。如果为 `.`,第 $i$ 天可以是工作日,也可以是休息日。 满足约束条件的有效工作计划共有 $2^q$ 种,其中 $q$ 是字符串 $S$ 中 `.` 字符的数量。对于每个 $k=1,2,\dots,N$,请解决下述问题: > 在所有符合约束条件的 $2^q$ 种工作计划中,方案中连续休息日最长的一段恰好为 $k$ 天的计划数是多少?请对 $998244353$ 取模。

输入格式

输入从标准输入读入,格式如下: > $N$ $S$

输出格式

输出 $N$ 行,第 $i$ 行输出 $k=i$ 时的答案。

说明/提示

### 样例解释 1 用 `o` 表示休息日,有效工作计划如下: - $k=1$ :`oxxxx`,`oxoxx`,`oxoxo`,`oxxox`,`oxxxo`,`xxoxx`,`xxoxo`,`xxxox`,`xxxxo` - $k=2$ :`oxoox`,`oxxoo`,`xxoox`,`xxxoo` - $k=3$ :`oxooo`,`xxooo` ### 数据范围 - $N$ 是 $1$ 到 $2 \times 10^5$ 之间的整数。 - $S$ 是长度为 $N$ 的只包含 `.` 和 `x` 的字符串。 由 ChatGPT 5 翻译