#P9805. [POI 2022/2023 R1] ply

[POI 2022/2023 R1] ply

背景

题目译自 POI2022~2023R1 ply。

题目描述

定义“合法括号串”及其深度如下:

  • 空串是一个合法括号串,深度为 00。
  • 如果 ww 是一个合法括号串,深度为 hh,则 (w)(w) 也是一个合法括号串,深度为 h+1h+1。
  • 如果 w1w_1 和 w2w_2 都是合法括号串,深度分别为 h1h_1 和 h2h_2,则 w1w2w_1w_2 也是一个合法括号串,深度为 max⁡(h1,h2)\max(h_1,h_2)。

定义翻转一个字符为:

  • 如果当前字符为 (,修改为 )。
  • 如果当前字符为 ),修改为 (。

你需要通过翻转 ss 当中某些字符使得深度不超过 HH,求最小操作次数。

输入格式

第一行两个数字 n (2≤n≤106)n \ (2 \leq n \leq 10^6) 和 H (1≤H≤n2)H \ (1 \leq H \leq \frac{n}{2}),分别表示 ∣s∣|s| 和要求修改后不超过的深度。

第二行一个字符串 ss,表示原来的括号串。

输出格式

输出最小修改次数。

8 2
(()(()))
2

提示

对于样例,可以修改为 (()()()),这样深度为 22。

子任务分配如下:

子任务编号 特殊性质 分值
11 n≤20n \leq 20 2020
22 n≤3000n \leq 3000 4040
33 n≤106n \leq 10^6 且 H=h−1H = h-1 2020
44 n≤106n \leq 10^6

注:hh 为输入的括号串的深度。

本题中,子任务 00 为样例。