#牛客题目:括号画家
思路:运用栈与dp。
主要是结合dp进行运算
Candela是一名漫画家,她有一个奇特的爱好,就是在纸上画括号。这一天,刚刚起床的Candela画了一排括号序列,其中包含小括号( )、中括号[ ]和大括号{ },总长度为N。这排随意绘制的括号序列显得杂乱无章,于是Candela定义了什么样的括号序列是美观的:
1 空的括号序列是美观的;
2 若括号序列A是美观的,则括号序列 (A)、[A]、{A} 也是美观的;
3 若括号序列A、B都是美观的,则括号序列AB也是美观的。
例如 (){} 是美观的括号序列,而 )({)[}]( 则不是。
现在Candela想在她绘制的括号序列中,找出其中连续的一段,满足这段子序列是美观的,并且长度尽量大。你能帮帮她吗?
样例:({({(({()}})}{())})})[){
{
{([)()((()]]}])[{)]}{[}{)
答案:4
代码:`
#include<iostream>
#include<cstdio>
#include<stack>
#include<string>
#include<vector>
using namespace std;