P15730 [JAG 2024 Summer Camp #2] Broken Parentheses

题目描述

我们定义一个**正确的括号序列**为满足以下任一条件的字符串: - 它是一个空字符串。 - 它由 $($、$A$、$)$ 按此顺序连接而成,其中 $A$ 是一个正确的括号序列。 - 它由 $A$ 和 $B$ 按此顺序连接而成,其中 $A$ 和 $B$ 都是非空的正确括号序列。 给定一个长度为 $N$ 的字符串 $S$,由字符 $($ 和 $)$ 组成。 对于每个满足 $0 \leq i \leq N$ 的 $i$,定义字符串 $T_i$ 为:将 $S$ 的长度为 $N - i$ 的后缀与 $S$ 的长度为 $i$ 的前缀的反转字符串按此顺序连接而得到的字符串。也就是说,如果我们用 $S_i$ 表示 $S$ 的第 $i$ 个字符,那么 $T_i$ 由字符 $S_{i+1}, S_{i+2}, \ldots, S_N, S_i, \ldots, S_2, S_1$ 按顺序排列而成。 对于每个满足 $0 \leq i \leq N$ 的 $T_i$,解决以下问题: - 考虑一种操作:将 $T_i$ 中的一个字符替换为 $($ 或 $)$。求使 $T_i$ 成为一个正确的括号序列所需的最少操作次数。

输入格式

输入以如下格式给出: $$ \begin{aligned} &N \\ &S \end{aligned} $$ - $2 \leq N \leq 200,000$ - $N$ 是偶数。 - $S$ 是一个长度为 $N$ 的字符串,仅由 $($ 和 $)$ 组成。

输出格式

输出 $N + 1$ 行。在第 $i + 1$ 行输出 $T_i$ 的答案。

说明/提示

翻译由 DeepSeek V3.2 完成