博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
codeforces 990C Bracket Sequences Concatenation Problem
阅读量:4599 次
发布时间:2019-06-09

本文共 763 字,大约阅读时间需要 2 分钟。

刚开始以为之前做过,还很不屑一顾,没想到这道题目升级了,从一维升级为二维。

主要的思路就是 两个字符串如果可以拼成一个expression,

要么这两个字符串是expression,

要么就是一个字符串左括号不匹配数等于另一个字符串的有括号不匹配数

注意需要排除 类似“)(”这种字符串

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define DEBUG(x) cout<<#x<<" = "<
<
noMatchNum(string s,int n){ vector
st; st.push_back(s[0]); for(int i=1;i
>s; pair
nmn= noMatchNum(s,s.size()); if(nmn.second==-1)continue; else if(nmn.second==0)nexp++; else{ if(nmn.first=='(')ln[nmn.second]++; else rn[nmn.second]++; } } ll ans=nexp*nexp; for(int i=1;i<=MAXN;i++){ ans+=ln[i]*rn[i]; } cout<
<

 

转载于:https://www.cnblogs.com/MalcolmMeng/p/9706287.html

你可能感兴趣的文章
08. 删除重复&海量数据
查看>>
重新想象 Windows 8 Store Apps (71) - 其它: C# 调用 C++
查看>>
发布mvc遇到的HTTP错误 403.14-Forbidden解决办法
查看>>
jvm内存模型和内存分配
查看>>
4.循环结构
查看>>
记录一些好用的工具
查看>>
inner join on 三表查询四表查询5表查询不管多少表都可以
查看>>
超链接样式设置(去下划线)(转)
查看>>
[求助]linux同一目录可否挂载多个数据盘?
查看>>
restcontroller和controller区别
查看>>
2016012003+陈琦+散列函数的应用及其安全性
查看>>
Android 状态栏通知Notification、NotificationManager详解
查看>>
如何在Google Map中处理大量标记(ASP.NET)(转)
查看>>
Sublime Text 3中使用正则表达式删除空行
查看>>
UIApplicationDelegate协议
查看>>
再谈iOS 7的手势滑动返回功能
查看>>
Jmeter测试dubbo接口填坑
查看>>
python小练——找出指定目录下小于指定字节的文件,输出到文本文件
查看>>
渐渐磨砺--16年11月封闭总结
查看>>
[zz]GDB调试精粹及使用实例
查看>>