还是套路题,左括号就压栈,右括号就取出一个左括号配对,长度就是前面左括号前面已经合法的最长长度+这一部分左右括号,即拼起来,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 括号序列最长合法子段相关推荐

  1. 138.括号序列(区间型DP)

    3657 括号序列 时间限制: 1 s 空间限制: 256000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Description 我们用以下规则定义一个合法的括号序列: (1 ...

  2. 12届蓝桥杯省赛c++b组 J题 括号序列

    这次要讲的前几个星期刚比完的蓝桥杯c++b组J题:括号序列.本次比赛我也参加了,但是这道题我是dfs求解的,所以都只是拿了少部分的分,我比赛时的代码就不展示了,因为时间复杂度很高,所以我就直接讲解正解 ...

  3. [Jobdu] 题目1337:寻找最长合法括号序列

    题目描述: 给你一个长度为N的,由'('和')'组成的括号序列,你能找出这个序列中最长的合法括号子序列么?合法括号序列的含义便是,在这个序列中,所有的左括号都有唯一的右括号匹配:所有的右括号都有唯一的 ...

  4. 最长合法括号子序列(括号序列+贪心)

    1.题目引入: 一个合法的括号序列满足以下条件: 序列()被认为是合法的. 如果序列X与Y是合法的,则XY也被认为是合法的. 如果序列X是合法的,则(X)也是合法的. 例如,(),()(),(())这 ...

  5. Leetcode 32 最长合法括号子序列

    算法特辑–动态规划 Leetcode 32 最长合法括号子序列 给定只有"(" 和 ")" 的字符串,求出最长的合法括号子序列. 例如:"())&qu ...

  6. [ Nowcoder Contest 165 #D ] 合法括号序列

    \(\\\) \(Description\) 键盘上有三个键,敲击效果分别是: 在输出序列尾部添加一个左括号 在输出序列尾部添加一个右括号 删除输出序列尾部的第一个元素,若输出序列为空,则什么都不发生 ...

  7. 编程题——合法括号序列

    编程题--合法括号序列 题目描述: 对于一个字符串,请设计一个算法,判断其是否为一个合法的括号串. 给定一个字符串A和它的长度n,请返回一个bool值代表它是否为一个合法的括号串. 示例1: 输入 ( ...

  8. 牛客网--关于合法括号序列判断

    牛客网--关于合法括号序列判断 题目描述 代码 题目描述 对于一个字符串,请设计一个算法,判断其是否为一个合法的括号串. 给定一个字符串A和它的长度n,请返回一个bool值代表它是否为一个合法的括号串 ...

  9. 【字符串2】(删除公共字符、合法括号序列判断、两种排序方法、密码强度等级)

    字符串题集 1. 删除公共字符 题目描述 题目分析 C++代码 2. 合法括号序列判断 题目描述 题目分析 C++代码 3. 两种排序方法 题目描述 题目分析 C++代码 4. 密码强度等级 题目描述 ...

最新文章

  1. rsync实现linux间同步
  2. iis重启的几种方法
  3. ASP.NET MVC系列:添加控制器
  4. 配置arm-linux-gcc 位置
  5. centos 6.5 x64编译有python的vim7.4
  6. Android 平台下Cordova 调用Activity插件开发
  7. 设计师学python还是processing_人人都能学会的processing创意编程能实现什么?
  8. 安谋中国“星辰”处理器商用:灵动微、全志科技、华大北斗布局合作
  9. matlab log算子求取,数字图像处理---LOG算子和CANNY算子边缘提取(matlab)
  10. R语言连续变量正态性检验
  11. 怎么把浏览器改成开发者模式_小米手表怎么玩?Wear OS初体验
  12. 向PSRAM中写入、读取数据
  13. 企业经营数据的质量及其八个指标
  14. 【计算机视觉与深度学习 北京邮电大学 鲁鹏 视频笔记】1. 线性分类器
  15. python求平均工资_python实现求和,求平均值——函数
  16. linux kill ps的结果,(转载)linux 查看某进程 并杀死进程 ps grep kill
  17. 机器语言到Java语言的技术背景
  18. my web sites for HEP
  19. NC 登录时,报“java.lang.reflect.UndeclaredThrowableException:null”错误
  20. 网站流量波动很大该怎么解决

热门文章

  1. Ubuntu 20.04 LTS 开发周期的重要任务:移除 Python 2
  2. Model和ViewModel之间的通用MVVM数据交换
  3. bootstraptable 怎么在特定行添加数据_同等权限下多任职之间数据权限的实例
  4. iphone7防水_iPhone11系列防水测试,其结果令人意外
  5. python apache_Windows 配置 Apache Python CGI
  6. zookeeper和eureka的对比
  7. 训练效果不好的解决办法
  8. pythonseleniumide使用_selenium第二课(脚本录制seleniumIDE的使用)
  9. PHP 5.6 中 Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future
  10. java 基本数据类型 容器_Java 基本数据类型