1478 括号序列的最长合法子段
来源:互联网 发布:微信跳淘宝 编辑:程序博客网 时间:2024/05/22 03:47
感觉自己宛如一个智障。。。
维护一个栈,dp保证相邻的合法括号能够相连接,就好了。
#include<bits/stdc++.h>using namespace std;const int MAXN=1001000;char s[MAXN];int dp[MAXN];stack<int> stk;int main(){int len,i,ans,sum,tmp;while(scanf("%s",&s)!=EOF){len=strlen(s);memset(dp,0,sizeof(dp));while(!stk.empty())stk.pop();ans=0;for(i=0;i<len;i++){if(s[i]=='(')stk.push(i);else if(!stk.empty()){tmp=stk.top();stk.pop();dp[i]=dp[tmp-1]+i-tmp+1;if(dp[i]>ans){ans=dp[i];sum=1;}else if(dp[i]==ans)sum++;}}if(ans)printf("%d %d\n",ans,sum);elseprintf("0 1\n");}}
0 0
- 括号序列的最长合法子段
- 51nod 1478 括号序列的最长合法子段
- 1478 括号序列的最长合法子段
- 51Nod-1478-括号序列的最长合法子段
- 51nod-1478 括号序列的最长合法子段
- 1478 括号序列的最长合法子段
- 51nod 1478 括号序列的最长合法子段
- 51nod 1478 括号序列的最长合法子段 (括号匹配)
- 51nod 1478-括号序列的最长合法子段(模拟)
- 51nod 1478 括号序列的最长合法子段(栈-括号匹配寻找最长合法子串长度及其个数)
- 栈+括号配对 51Nod1478 括号序列的最长合法子段
- 51nod 1478 括号序列的最长合法子段【思维+前缀和+优先队列】好题!
- 合法括号子段
- 合法括号子段
- 最长合法括号序列
- 1791 合法括号子段
- 最长的合法括号
- 合法的括号序列
- DRF depth=1的情况下对象的创建与更新问题
- Android触控事件分发详解-基本流程
- 如何实现FTP上传
- 素数环 题解
- Python爬虫基础
- 1478 括号序列的最长合法子段
- MFC xp style界面
- Unity Editor 编辑器扩展三 Unity Editor 数据持久化及Editor窗口的初识
- 作为一个新人,怎样学习嵌入式Linux?
- git命令上传本地项目至GitHub
- java 连接 redis
- git查看修改用户名和邮箱
- 驱动中结构体初始化
- git 常用命令行