loj#P3919. 「PA 2022」Nawiasowe podziały
「PA 2022」Nawiasowe podziały
题目描述
题目译自 PA 2022 Runda 5 Nawiasowe podziały
我确信你是知道括号序列的,但是以防万一,并且作为回顾,让我们回忆一下它的定义:
()
是一个合法的括号序列。- 如果 是一个合法的括号序列,那么
(S)
也是一个合法的括号序列。 - 如果 和 都是合法的括号序列,那么 也是一个合法的括号序列。
- 不符合上述规则的括号序列都不是合法的括号序列。
给出一个长度为 且仅由字符 (
和 )
组成的字符串,以及一个数字 ,这个字符串不一定是合法的括号序列。你的任务是把它分成 个非空段(每个字符必须恰好属于一段内),使得每段中是合法括号序列的子串个数之和最小。
输入格式
第一行两个整数 ,分别表示字符串长度和要分成的段数。
第二行一个长度为 的字符串,保证字符串仅由 (
和 )
组成。
输出格式
输出一行一个整数,表示所有段中是合法括号序列的子串个数之和的最小值。
15 2
())(()())()(())
6
15 3
())(()())()(())
3
数据范围与提示
- 某些子任务满足 。
- 某些子任务满足 。
- 某些子任务满足 。
- 某些子任务满足 。
对于上面提到的每种情况,都存在至少一个子任务满足。这些子任务满足条件可能不相交,也可能相交。