设为首页 加入收藏

TOP

poj 2955 Brackets(区间DP求最长匹配子串)
2015-11-21 01:02:10 来源: 作者: 【 】 浏览:2
Tags:poj 2955 Brackets 区间 最长 匹配

思路:假设要求区间[i,j]的最长匹配字串,它必然可以从[i,j-1]转移而来,有可能是s[j]与s[i]发生“关系”(匹配或不匹配),一直到s[j-1],若不发生“关系”,即s[j]跟自己发生“关系”,用for循环枚举所有的可能,取最大值。

代码:

?

#include
  
   
#include
   
     #include
    
      using namespace std; char s[105]; int dp[105][105];//代表[i,j]区间的最长匹配子串 int check(int i,int j) { if(s[i]=='('&&s[j]==')') return 1; if(s[i]=='['&&s[j]==']') return 1; return 0; } int main() { while(scanf("%s",s)&&strcmp(s,"end")!=0) { memset(dp,0,sizeof(dp)); int len=strlen(s); for(int i=0;i
     
      

?

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇HDU 2389 Rain on your Parade (.. 下一篇HDOJ 5229 ZCC loves strings

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: