#P9805. [POI2022~2023R1] ply

[POI2022~2023R1] ply

题目背景

题目译自 POI2022~2023R1 ply

题目描述

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

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

定义翻转一个字符为:

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

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

输入格式

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

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

输出格式

输出最小修改次数。

8 2
(()(()))
2

提示

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

子任务分配如下:

子任务编号 特殊性质 分值
11 n20n \leq 20 2020
22 n3000n \leq 3000 4040
33 n106n \leq 10^6H=h1H = h-1 2020
44 n106n \leq 10^6

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

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