AT_abc464_g [ABC464G] Celester 2

题目描述

接下来 $N$ 天的天气可以用一个字符串 $S$ 表示。 如果 $S$ 的第 $i$ 个字符为 `S`,则第 $i$ 天天气为晴天,如果第 $i$ 个字符为 `R`,则第 $i$ 天天气为雨天。 你可以执行以下操作 **$0$ 到 $k$ 次**(含两端): - 选择一个整数 $i$($1 \le i \le N$)。 - 改变第 $i$ 天的天气。如果原为雨天,改成晴天;如果原为晴天,改成雨天。 执行操作后,根据最终的天气,你按以下规则获得幸福感: - 对于每一个正整数 $i$($1 \le i < N$),如果第 $i$ 天是雨天而第 $i+1$ 天是晴天,你可以获得 $1$ 点幸福感。 对于每个 $k = 0,1,2,...,N$,求出可以获得的最大幸福感。

输入格式

本题单个测试点内有多组数据。 第一行一个正整数 $T$,代表数据组数。 对于每组数据: 第一行一个正整数 $N$,意义如题目所述。 第二行一个长度为 $N$ 的字符串 $S$,意义如题目所述。

输出格式

输出 $T$ 行,第 $i$ 行是第 $i$ 组数据的答案。 对于每组数据,输出 $N+1$ 个整数,输出的第 $i$ 个数是 $k=i-1$ 时获得的最大幸福感。

说明/提示

对于 $100\%$ 的数据,$1 \le T \le 10^4$,$2 \le N \le 10^6$,$S$ 是长度为 $N$ 的字符串,保证只由大写英文字母 `R` 和 `S` 组成。单个输入中所有数据的 $N$ 之和不超过 $10^6$。