博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 2955 Brackets
阅读量:4322 次
发布时间:2019-06-06

本文共 1319 字,大约阅读时间需要 4 分钟。

1 //#include 
2 #include
3 #include
4 #include
5 using namespace std; 6 char s[128]; 7 int dp[128][128]; 8 int n; 9 10 int dfs(int l,int r)11 {12 if(dp[l][r]!=-1)13 return dp[l][r];14 if(l==r)15 return dp[l][r]=0;16 if(l+1==r){17 if(s[l]=='('&&s[r]==')')18 return dp[l][r]=2;19 if(s[l]=='['&&s[r]==']')20 return dp[l][r]=2;21 }22 //int maxx=0;23 if(s[l]=='('&&s[r]==')')24 //maxx=max(maxx,2+rec(l+1,r-1));25 dp[l][r] = max(dp[l][r], dfs(l + 1, r - 1) + 2);26 if(s[l]=='['&&s[r]==']')27 // maxx=max(maxx,2+rec(l+1,r-1));28 dp[l][r] = max(dp[l][r], dfs(l + 1, r - 1) + 2);29 for(int k=l;k<=r-1;++k)30 //maxx=max(maxx,rec(l,k)+rec(k+1,r));31 dp[l][r] = max(dp[l][r], dfs(l, k) + dfs(k + 1, r));32 return dp[l][r];33 }34 35 int main()36 {37 while(scanf("%s",s)==1){38 if(s[0]=='e')39 break;40 memset(dp,-1,sizeof(dp));41 n=strlen(s);42 printf("%d\n",dfs(0,strlen(s)-1));43 }44 return 0;45 }
View Code

 

posted on
2017-04-20 21:06 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/NWUACM/p/6740813.html

你可能感兴趣的文章
c# 对加密的MP4文件进行解密
查看>>
AOP面向切面编程C#实例
查看>>
Win form碎知识点
查看>>
避免使用不必要的浮动
查看>>
第一节:ASP.NET开发环境配置
查看>>
sqlserver database常用命令
查看>>
rsync远程同步的基本配置与使用
查看>>
第二天作业
查看>>
访问属性和访问实例变量的区别
查看>>
Spring MVC 异常处理 - SimpleMappingExceptionResolver
查看>>
props 父组件给子组件传递参数
查看>>
【loj6038】「雅礼集训 2017 Day5」远行 树的直径+并查集+LCT
查看>>
十二种获取Spring的上下文环境ApplicationContext的方法
查看>>
UVA 11346 Probability 概率 (连续概率)
查看>>
linux uniq 命令
查看>>
Openssl rand命令
查看>>
HDU2825 Wireless Password 【AC自动机】【状压DP】
查看>>
BZOJ1015: [JSOI2008]星球大战starwar【并查集】【傻逼题】
查看>>
HUT-XXXX Strange display 容斥定理,线性规划
查看>>
mac修改用户名
查看>>