题目链接:http://codeforces.com/contest/1095/problem/E


解题心得:  

  刚开始拿到这个题的时候还真的没什么思路,后来仔细想想还是比较简单的。首先题目要求翻转一个括号就要达到符合括号的匹配规则,那么在匹配完符合条件的括号之后有多出的两个括号向左或者向右。

  其次从左边开始)不能比(多出两个以上,不然无法通过翻转一个得到符合规范的括号列,当刚好多出一个的时候这个括号必须翻转。


#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e6+; int cnt[maxn], n;
char s[maxn]; int main() {
//freopen("1.in", "r", stdin);
//freopen("1.out", "w", stdout);
scanf("%d", &n);
scanf("%s", s);
int x = ;
for(int i=;i<n;i++) {
if(s[i] == '(') x++;
else x--;
cnt[i] = x;
} for(int i=n-;i>=;i--)
cnt[i] = min(cnt[i+], cnt[i]);
int ans = , b = ;
for(int i=;i<n;i++) {
if(s[i] == '(') {
if(cnt[i] >= && x == ) ans++;
b++;
} else {
if(cnt[i] >= - && x == -) ans++;
b--;
}
if(b < )
break;
}
printf("%d", ans);
return ;
}

E. Almost Regular Bracket Sequence的更多相关文章

  1. Educational Codeforces Round 4 C. Replace To Make Regular Bracket Sequence 栈

    C. Replace To Make Regular Bracket Sequence 题目连接: http://www.codeforces.com/contest/612/problem/C De ...

  2. Codeforces Beta Round #5 C. Longest Regular Bracket Sequence 栈/dp

    C. Longest Regular Bracket Sequence Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.c ...

  3. Replace To Make Regular Bracket Sequence

    Replace To Make Regular Bracket Sequence You are given string s consists of opening and closing brac ...

  4. CF1095E Almost Regular Bracket Sequence

    题目地址:CF1095E Almost Regular Bracket Sequence 真的是尬,Div.3都没AK,难受QWQ 就死在这道水题上(水题都切不了,我太菜了) 看了题解,发现题解有错, ...

  5. D - Replace To Make Regular Bracket Sequence

    You are given string s consists of opening and closing brackets of four kinds <>, {}, [], (). ...

  6. CodeForces - 612C Replace To Make Regular Bracket Sequence 压栈

    C. Replace To Make Regular Bracket Sequence time limit per test 1 second memory limit per test 256 m ...

  7. (CodeForces - 5C)Longest Regular Bracket Sequence(dp+栈)(最长连续括号模板)

    (CodeForces - 5C)Longest Regular Bracket Sequence time limit per test:2 seconds memory limit per tes ...

  8. 贪心+stack Codeforces Beta Round #5 C. Longest Regular Bracket Sequence

    题目传送门 /* 题意:求最长括号匹配的长度和它的个数 贪心+stack:用栈存放最近的左括号的位置,若是有右括号匹配,则记录它们的长度,更新最大值,可以在O (n)解决 详细解释:http://bl ...

  9. Almost Regular Bracket Sequence CodeForces - 1095E (线段树,单点更新,区间查询维护括号序列)

    Almost Regular Bracket Sequence CodeForces - 1095E You are given a bracket sequence ss consisting of ...

  10. Codeforces Round #529 (Div. 3) E. Almost Regular Bracket Sequence(思维)

    传送门 题意: 给你一个只包含 '(' 和 ')' 的长度为 n 字符序列s: 给出一个操作:将第 i 个位置的字符反转('(' ')' 互换): 问有多少位置反转后,可以使得字符串 s 变为&quo ...

随机推荐

  1. 设计模式:代理(Proxy)模式

    设计模式:代理(Proxy)模式 一.前言    代理模式或许我们都听说过,至少知道代理(Proxy)这个东西的,否则看这篇博客也没任何意义的.什么叫做代理,代理是代替服务器去接受请求者的请求的中间人 ...

  2. java中i = i++问题

    今天偶然呗问到了一个java中自增运算符的问题,涉及到了堆栈,觉得挺有趣的把它记录下来. int i=0;      i=i++;      结果i是多少?      这是一个经常被提及的问题,答案一 ...

  3. 475. Heaters (start binary search, appplication for binary search)

    Winter is coming! Your first job during the contest is to design a standard heater with fixed warm r ...

  4. 配置java环境变量(详细)

    内容:java安装.配置java环境变量.简单编译运行(详细) 为什么配置系统环境变量好?个人理解在结尾 ############################################### ...

  5. try...finally的用法

    finally里面只是执行完成try中的代码后,必须执行的代码,即使是try中有异常抛出,也是会去执行finally. >>> try: ... 1/0 ... finally: . ...

  6. 实现websocket

    转:http://www.cnblogs.com/dolphinX/p/3462898.html 在之前的博客中提到过看到html5 的websocket后很感兴趣,终于可以摆脱长轮询(websock ...

  7. jQuery中$.ajax()详解(转)

    JQuery中$.ajax()方法参数详解     url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get) ...

  8. Codeforces Round #540 (Div. 3) F1. Tree Cutting (Easy Version) 【DFS】

    任意门:http://codeforces.com/contest/1118/problem/F1 F1. Tree Cutting (Easy Version) time limit per tes ...

  9. 十、IntelliJ IDEA 中 Project 和 Module 的概念及区别

    在 IntelliJ IDEA 中,没有类似于 Eclipse 工作空间(Workspace)的概念,而是提出了Project和Module这两个概念.接下来,就让咱们一起看看 IntelliJ ID ...

  10. java中数据类型的范围

    前言:最近:本菜鸡在准备pat,可以每次遇到数据类型的时候都得去查找范围,因此本着学习的目的,来总结一下java中的数据类型. 因此我用mindManager做了一个思维图