codeforcres 5C Longest Regular Bracket Sequence 队列优化 栈
来源:互联网 发布:android蓝牙小车源码 编辑:程序博客网 时间:2024/05/19 06:17
做法:用个栈就过了,然后数组l[i]记录,以这个点为终点的最长括号序列。明白什么是字串啊....
#include <iostream>#include <utility>#include <stack>#include <cstdio>#define LMT 1000003using namespace std;int len,ans;char bra[LMT];int l[LMT];//没有考虑到连续 ()()()()int main(){ len=-1;ans=0; int bl,pre,prel; scanf("%s",bra); stack < pair<char,int> > st; pair<char,int> t; for(int i=0;bra[i];i++) { if(!st.empty()) t=st.top(); if(!st.empty()&&t.first=='('&&bra[i]==')') { st.pop(); bl=i-t.second+1; bl+=l[t.second-1]; l[i]=bl; if(bl>len) { ans=1; len=bl; } else if(bl==len) ans++; } else st.push(make_pair(bra[i],i)); } if(ans==0)printf("0 1\n"); else printf("%d %d\n",len,ans); return 0;}
- codeforcres 5C Longest Regular Bracket Sequence 队列优化 栈
- CF 5C Longest Regular Bracket Sequence
- CF 5 C. Longest Regular Bracket Sequence
- codeforce 5C Longest Regular Bracket Sequence
- Codeforces 5C. Longest Regular Bracket Sequence
- codeforces 5C Longest Regular Bracket Sequence
- CodeForces 5C. Longest Regular Bracket Sequence
- CodeForces 5C - Longest Regular Bracket Sequence
- CodeForces 5C Longest Regular Bracket Sequence
- 5C-codeforce Longest Regular Bracket Sequence
- C - Longest Regular Bracket Sequence
- codeforces 5C C. Longest Regular Bracket Sequence(dp)
- Longest Regular Bracket Sequence
- Codeforces 5C Longest Regular Bracket Sequence dp+stack
- codeforces 5C Longest Regular Bracket Sequence -- 贪心
- Review of Codeforces 5C. Longest Regular Bracket Sequence
- Codeforces Beta Round #5 C. Longest Regular Bracket Sequence
- Codeforces 5C Longest Regular Bracket Sequence [贪心] [DP]
- 精确获取时间(QueryPerformanceCounter)
- python内置正则表达式(re)模块官方文档简要中文版
- 禁用和开启MAC的spotlight
- HDOJ2050 折线分割平面
- Spring3 MVC 拦截器
- codeforcres 5C Longest Regular Bracket Sequence 队列优化 栈
- 工具箱修复Dev控件显示
- 求最大公约数
- 7 HTTP协议的组成:
- Linux Call Trace原理分析
- 2012-12-19 重新安装linux遇到的问题
- 如何导入android sdk 的 sample中的源码
- ubuntu 10.04 安装sun java
- Linux系统调用过程