#summer40001. 括号3
括号3
Problem Description
哪个出题人会不喜欢一道人畜无害的括号题呢?
给定一个长度为 $n$ 的括号串 $s$,$s$ 仅由字符 `(` 和 `)` 组成。
定义「合法括号序列」为仅由 `(` 和 `)` 构成的字符串,且满足:
$\quad$· 空串 $\varepsilon$ 是合法括号序列。
$\quad$· 如果 $A$ 是合法括号序列,那么 `(A)` 也是合法括号序列。
$\quad$· 如果 $A, B$ 都是合法括号序列,那么 $AB$ 也是合法括号序列。
若一个前缀本身是合法括号序列,则称其为「正则前缀」。
现有 $q$ 次操作,每次给定下标 $p_i$:
$\quad$· 翻转 $s$ 的第 $p_i$ 个字符,即`(` 变为 `)`,`)` 变为 `(`。
每次操作后,你需要输出当前 $s$ 中的非空正则前缀数量,修改是持久的。
Input Format
第一行两个整数 $n, q$($1 \le n, q \le 10^5$)。
第二行一个长度为 $n$ 的字符串 $s$。保证该字符串中的字符只有$'('$和$')'$。
接下来 $q$ 行,每行一个整数 $p_i$($1 \le p_i \le n$)。
Output Format
共 $q$ 行,第 $i$ 行输出第 $i$ 次操作后正则前缀的非空数量。
2 2
)(
1
2
0
1
4 3
()((
2
2
4
0
1
2