P17543 [JAG 2026 Summer Camp #2] Deque Bracket Optimization
题目描述
满足下列条件之一的字符串被定义为**合法括号序列**。
- 空字符串。
- 对于某个合法括号序列 $A$,将 `(`、$A$ 和 `)` 按此顺序拼接得到的字符串。
- 将两个非空合法括号序列 $A$ 和 $B$ 按此顺序拼接得到的字符串。
设 $n$ 为正整数。对于长度为 $2n$ 的整数序列 $w=(w_1,w_2,\ldots,w_{2n})$,定义 $f(w)$ 如下。
对于长度为 $2n$ 的合法括号序列 $s=s_1s_2\ldots s_{2n}$,定义它相对于 $w$ 的得分 $w(s)$ 为所有满足 $s_i$ 为 `(` 的下标 $i$($1\le i\le 2n$)对应的 $w_i$ 之和。令 $f(w)$ 为所有长度为 $2n$ 的合法括号序列 $s$ 的 $w(s)$ 的最大值。
给定一个正整数 $Q$。初始时,整数序列 $W$ 为空。
依次处理 $Q$ 次询问。第 $i$ 次询问给出整数 $t_i,x_i,y_i$。其中 $t_i$ 为 $1,2,3$ 之一,其含义如下:
- 若 $t_i=1$:先在 $W$ 的开头插入 $x_i$,再在 $W$ 的开头插入 $y_i$。
- 若 $t_i=2$:先在 $W$ 的开头插入 $x_i$,再在 $W$ 的末尾插入 $y_i$。
- 若 $t_i=3$:先在 $W$ 的末尾插入 $x_i$,再在 $W$ 的末尾插入 $y_i$。
对于每次询问,求处理完该询问后的 $f(W)$。
输入格式
输入包含一组或多组测试数据。第一行包含一个整数 $T$($1\le T\le 10^5$),表示测试数据组数。每组测试数据的格式如下:
```text
Q
t_1 x_1 y_1
t_2 x_2 y_2
...
t_Q x_Q y_Q
```
整数 $Q$($1\le Q\le 4\times 10^5$)表示询问次数。
对于每个整数 $i$($1\le i\le Q$),整数 $t_i,x_i,y_i$ 表示询问的内容。其中 $t_i$ 为 $1,2,3$ 之一,且 $|x_i|,|y_i|\le 10^7$。
所有测试数据的 $Q$ 之和不超过 $4\times 10^5$。
输出格式
对于每组测试数据,输出 $Q$ 行。第 $i$ 行包含 $W$ 经过第 $i$ 次询问修改后的 $f(W)$。