I. RBS Checking
I. RBS Checking
时间限制:3s
空间限制:64MB
本题分值:600
题目背景
我们这样定义合法括号串:
①()是合法括号串。
②若是合法括号串,则是合法括号串。
③若是合法括号串,则是合法括号串。
例如:(()())是合法括号串, 但)(()不是合法括号串。
题目描述
给定一个由 '(' 和 ')' 构成的括号串 和 次操作。每次操作是以下三种之一:
操作1:操作将以 的形式给出,表示将 的括号翻转,即'(' 变为')',而')'变为'('。
操作2:操作将以 的形式给出,询问 构成的括号串是否是合法括号串。合法则输出Yes,不合法则输出No(请注意大小写)
操作3:操作将以 的形式给出,询问对于括号串 ,至少需要在其中添加几个括号,才能将其变为合法括号串。注意,只能在任意位置添加括号,而不能改变原先括号的顺序;操作3仅仅是询问,而不会改变这个括号串。
输入格式
第一行包含两个正整数 ,分别表示字符串长度和操作次数。
第二行包含一个括号串 ,字符串中仅包含左括号'('和右括号')'
接下来 行每行三个整数 ,分别表示操作类型,操作对应的左右区间。
输出格式
对于第二种和第三种操作,输出询问所对应的答案。每个答案输出一行。
样例输入1
样例输出1
样例1解释
第一次操作,询问1~2的子串是否是合法括号串,子串为(),故回答Yes
第二次操作,询问)(至少需要添加几个括号才能变为合法括号串,答案是2个,变为()()。
执行 1 1 2 后,括号序列变为 )(()
执行 1 2 4 后,括号序列变为 )))(
第五次操作,此时1~3的序列为))),输出3
样例输入2
样例输出2
样例输入3
样例输出3
数据范围及限制
字符串中仅包含左括号'('和右括号')'。设 是字符串的长度,×表示该操作不会在该测试点中出现。
操作只会以 的形式给出,其中
测试点编号 | 操作1 | 操作2 | 操作3 | 测试点分值 | ||
---|---|---|---|---|---|---|
1~2 | × | √ | × | 每个测试点30分 | ||
3~4 | √ | √ | × | 每个测试点30分 | ||
5~6 | √ | √ | √ | 每个测试点40分 | ||
7~9 | × | √ | × | 每个测试点40分 | ||
10~12 | × | √ | √ | 每个测试点40分 | ||
13~14 | √ | √ | √ | 每个测试点80分 |
信息
- ID
- 1300
- 难度
- 9
- 分类
- (无)
- 标签
- 递交数
- 72
- 已通过
- 1
- 通过率
- 1%
- 被复制
- 1
- 上传者
相关
在下列比赛中: