AtCoder Beginner Contest 167 F.Bracket Sequencing

题目链接

判断括号匹配的字符串问题~
首先给出的所有字符串的左右括号数是要匹配的,这个很好判断,用一个变量存一下即可~
接下来判断这些字符串能否构成合理的括号序列,用 pairpairpair 存储每个字符串需要的匹配数和需要的右括号数,我们试想,合法的括号序列一定是左括号尽量靠左,右括号靠右的,所以我们要对其就行排序,最后用一个变量记录当前的待匹配数 resresres,如果 pairpairpair 的右括号数超过待匹配数,则输出 NoNoNo,AC代码如下:

#include<bits/stdc++.h>
using namespace std;
int n,res=0,sum=0;
string s;
vector<pair<int,int> >v;
bool cmp(pair<int,int>p1,pair<int,int>p2) {return min(p1.second,p1.first+p2.second)>min(p2.second,p2.first+p1.second);}
main()
{cin>>n;for(int i=0;i<n;i++){cin>>s;int cnt=0,mn=0;for(char c:s) c=='('?cnt++:cnt--,mn=min(mn,cnt);v.emplace_back(cnt,mn);sum+=cnt;}if(sum!=0) {puts("No");exit(0);}sort(v.begin(),v.end(),cmp);for(pair<int,int>p:v){if(res<-p.second){puts("No");exit(0);}res+=p.first;}puts("Yes");return 0;
}

AtCoder Beginner Contest 167 F.Bracket Sequencing相关推荐

  1. AtCoder Beginner Contest 215 F - Dist Max 2

    AtCoder Beginner Contest 215 F - Dist Max 2 平面上有一系列的点(xi,yi)(x_i,y_i)(xi​,yi​),定义两点(xi,yi),(xj,yj)(x ...

  2. AtCoder Beginner Contest 204 F Hanjo 2

    AtCoder Beginner Contest 204 F Hanjo 2 H宽,W长的二维平面上,用1 * 1或者2 * 1的地砖来铺,要求铺满,求出方案数. 数据范围H <= 6, W & ...

  3. AtCoder Beginner Contest 170 F. Pond Skater

    AtCoder Beginner Contest 170 F. Pond Skater 题目链接 第一次碰到会写的 F,真的哭辽/(ㄒoㄒ)/~~,BFS+剪枝 题目有几个坑点: 1.初始化,我们直接 ...

  4. AtCoder Beginner Contest 167 D Teleporter 找周期

    AtCoder Beginner Contest 167   比赛人数11940  比赛开始后15分钟看到A题,之后每隔一分钟,看到一道题,在比赛开始后第21分钟看到所有题 AtCoder Begin ...

  5. AtCoder Beginner Contest 167 A Registration 字符串比较

    AtCoder Beginner Contest 167   比赛人数11940  比赛开始后15分钟看到A题,之后每隔一分钟,看到一道题,在比赛开始后第21分钟看到所有题 AtCoder Begin ...

  6. AtCoder Beginner Contest 187 F.Close Group Editorial

    AtCoder Beginner Contest 187 F.Close Group Editorial 题目链接 状压DP~ 如果对边暴力的话复杂度约为 21502^{150}2150,显然不可取, ...

  7. AtCoder Beginner Contest 194 F - Digits Paradise in Hexadecimal 数位dp

    传送门 文章目录 题意: 思路: 题意: 给一个161616进制的串NNN,让你求1−N1-N1−N中有多少个数有kkk个不同的数且没有前导零. 思路: NNN很大,有2e52e52e5了,那么就比较 ...

  8. AtCoder Beginner Contest 192 F - Potion 背包dp

    传送门 题意: 给你nnn个数,让后让你选出来kkk个AAA,把他们求和,之后再递增kkk直到正好达到xxx,求最小的递增次数. 思路: 转化一下题意就是求∑A=x(modlen)\sum A=x(\ ...

  9. Caddi Programming Contest 2021(AtCoder Beginner Contest 193) F.Zebraness

    题目链接 Problem Statement We have a grid with N horizontal rows and N vertical columns. Let (i,j) denot ...

最新文章

  1. 为什么以太网帧的长度最短64字节,最长1518字节?
  2. Android的WebView控件载入网页显示速度慢的究极解决方案
  3. python怎样给对象赋值_Python对象赋值、浅拷贝和深拷贝
  4. 装了VS2005再装IIS的小问题
  5. 的注册表怎么才能删干净_洗鞋怎么清洗才能清洗干净?洗鞋店洗鞋怎么清洗的这么干净? 篇幅一...
  6. 低能量社交时代,我们都成了小心翼翼的「舔狗」
  7. 【NLP】BERT 模型与中文文本分类实践
  8. lunbuntu install mysql5.7
  9. IOC操作Bean管理XML方式(注入集合类型属性)
  10. 粉丝福利,送10个程序员专用机械键盘
  11. cxfreeze打包pyqt5程序_基于PyQt5的简单RMSE计算小工具研究
  12. .NET连接MySQL数据库并绑定于datagridview。
  13. 复旦大学2013--2014学年第一学期(13级)高等代数I期末考试第八大题解答
  14. SQL结构化数据查询语言培训讲义
  15. ibatis的result标签中用select详解
  16. 求素数及素数表的获取
  17. H5标签input标签上传文件(图片)
  18. 第一章 老虎Linux简介
  19. 如何通过mac微信版把文件传到手机上?
  20. 使用Sentinel Dashboard监控项目流量

热门文章

  1. C# 关于AD域的操作 (首博)
  2. 电脑裸妆linux,美妆相机pc版 版本 V5.0.0
  3. dva ajax请求,dva框架使用mock.js模拟数据 + fetch请求数据
  4. 堆排序稳定性举例_稳定排序和不稳定排序
  5. 大数据项目-01--PU、VU、每个网站的每个地区访问量?
  6. 如何做一个网页送给女朋友做生日礼物
  7. coreldraw x4如何出血_coreldraw x4教程
  8. 用python3的pyspider爬取国家统计局的行政区域(只到乡镇级,更新到2017年)
  9. 用python编程、假设一年期定期利率_Python习题选编
  10. Unity3D制作巡逻兵小游戏