51nod 1478 括号序列最长合法子段
还是套路题,左括号就压栈,右括号就取出一个左括号配对,长度就是前面左括号前面已经合法的最长长度+这一部分左右括号,即拼起来,dp[i]存一下i前面的最长合法子段长度
坑点是不存在合法子串要输出0 1,最开始没看到。。
1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 #include<iostream> 5 #include<stack> 6 #define LL long long 7 #define debug(x) cout << "[" << x << "]" << endl 8 using namespace std; 9 10 const int mx = 1e6+10; 11 char a[mx]; 12 int dp[mx]; 13 stack<int> s; 14 15 int main(){ 16 int ans = 0, num = 1; 17 scanf("%s", a+1); 18 int len = strlen(a+1); 19 for (int i = 1; i <= len; i++){ 20 if (a[i] == '(') s.push(i); 21 else if (!s.empty()){ 22 int t = s.top(); s.pop(); 23 dp[i] = dp[t-1]+i-t+1; 24 if (ans == dp[i]) num++; 25 else if (ans < dp[i]) ans = dp[i], num = 1; 26 } 27 } 28 printf("%d %d\n", ans, num); 29 return 0; 30 }
转载于:https://www.cnblogs.com/QAQorz/p/9597811.html
51nod 1478 括号序列最长合法子段相关推荐
- 138.括号序列(区间型DP)
3657 括号序列 时间限制: 1 s 空间限制: 256000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Description 我们用以下规则定义一个合法的括号序列: (1 ...
- 12届蓝桥杯省赛c++b组 J题 括号序列
这次要讲的前几个星期刚比完的蓝桥杯c++b组J题:括号序列.本次比赛我也参加了,但是这道题我是dfs求解的,所以都只是拿了少部分的分,我比赛时的代码就不展示了,因为时间复杂度很高,所以我就直接讲解正解 ...
- [Jobdu] 题目1337:寻找最长合法括号序列
题目描述: 给你一个长度为N的,由'('和')'组成的括号序列,你能找出这个序列中最长的合法括号子序列么?合法括号序列的含义便是,在这个序列中,所有的左括号都有唯一的右括号匹配:所有的右括号都有唯一的 ...
- 最长合法括号子序列(括号序列+贪心)
1.题目引入: 一个合法的括号序列满足以下条件: 序列()被认为是合法的. 如果序列X与Y是合法的,则XY也被认为是合法的. 如果序列X是合法的,则(X)也是合法的. 例如,(),()(),(())这 ...
- Leetcode 32 最长合法括号子序列
算法特辑–动态规划 Leetcode 32 最长合法括号子序列 给定只有"(" 和 ")" 的字符串,求出最长的合法括号子序列. 例如:"())&qu ...
- [ Nowcoder Contest 165 #D ] 合法括号序列
\(\\\) \(Description\) 键盘上有三个键,敲击效果分别是: 在输出序列尾部添加一个左括号 在输出序列尾部添加一个右括号 删除输出序列尾部的第一个元素,若输出序列为空,则什么都不发生 ...
- 编程题——合法括号序列
编程题--合法括号序列 题目描述: 对于一个字符串,请设计一个算法,判断其是否为一个合法的括号串. 给定一个字符串A和它的长度n,请返回一个bool值代表它是否为一个合法的括号串. 示例1: 输入 ( ...
- 牛客网--关于合法括号序列判断
牛客网--关于合法括号序列判断 题目描述 代码 题目描述 对于一个字符串,请设计一个算法,判断其是否为一个合法的括号串. 给定一个字符串A和它的长度n,请返回一个bool值代表它是否为一个合法的括号串 ...
- 【字符串2】(删除公共字符、合法括号序列判断、两种排序方法、密码强度等级)
字符串题集 1. 删除公共字符 题目描述 题目分析 C++代码 2. 合法括号序列判断 题目描述 题目分析 C++代码 3. 两种排序方法 题目描述 题目分析 C++代码 4. 密码强度等级 题目描述 ...
最新文章
- rsync实现linux间同步
- iis重启的几种方法
- ASP.NET MVC系列:添加控制器
- 配置arm-linux-gcc 位置
- centos 6.5 x64编译有python的vim7.4
- Android 平台下Cordova 调用Activity插件开发
- 设计师学python还是processing_人人都能学会的processing创意编程能实现什么?
- 安谋中国“星辰”处理器商用:灵动微、全志科技、华大北斗布局合作
- matlab log算子求取,数字图像处理---LOG算子和CANNY算子边缘提取(matlab)
- R语言连续变量正态性检验
- 怎么把浏览器改成开发者模式_小米手表怎么玩?Wear OS初体验
- 向PSRAM中写入、读取数据
- 企业经营数据的质量及其八个指标
- 【计算机视觉与深度学习 北京邮电大学 鲁鹏 视频笔记】1. 线性分类器
- python求平均工资_python实现求和,求平均值——函数
- linux kill ps的结果,(转载)linux 查看某进程 并杀死进程 ps grep kill
- 机器语言到Java语言的技术背景
- my web sites for HEP
- NC 登录时,报“java.lang.reflect.UndeclaredThrowableException:null”错误
- 网站流量波动很大该怎么解决
热门文章
- Ubuntu 20.04 LTS 开发周期的重要任务:移除 Python 2
- Model和ViewModel之间的通用MVVM数据交换
- bootstraptable 怎么在特定行添加数据_同等权限下多任职之间数据权限的实例
- iphone7防水_iPhone11系列防水测试,其结果令人意外
- python apache_Windows 配置 Apache Python CGI
- zookeeper和eureka的对比
- 训练效果不好的解决办法
- pythonseleniumide使用_selenium第二课(脚本录制seleniumIDE的使用)
- PHP 5.6 中 Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future
- java 基本数据类型 容器_Java 基本数据类型