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