zoukankan      html  css  js  c++  java
  • SCU 1069 POJ 2955 Brackets

    区间DP

    #include<cstdio>
    #include<cstring>
    #include<cmath>
    #include<algorithm>
    using namespace std;
    
    char s[1000];
    int dp[105][105];
    
    int main()
    {
        int i,j,k;
        while(~scanf(" %s",s))
        {
            if(strcmp(s,"end")==0) break;
            int len=strlen(s);
            for(i=len-1; i>=0; i--) s[i+1]=s[i];
            memset(dp,0,sizeof(dp));
    
            for(i=1; i<=len; i++) //长度
            {
                for(j=1; j<=len; j++) //起点
                {
                    int w=i+j-1;//终点
                    if(w<=j||w>len) continue;
                    if((s[j]=='('&&s[w]==')')||(s[j]=='['&&s[w]==']'))
                        dp[j][w]=dp[j+1][w-1]+2;
                    for(k=j; k<w; k++)
                        dp[j][w]=max(dp[j][w],dp[j][k]+dp[k+1][w]);
                }
            }
            printf("%d
    ",dp[1][len]);
        }
        return 0;
    }
  • 相关阅读:
    13 数据库主从
    12 数据备份
    11 锁机制
    12 日志
    10 索引(二)
    09 索引
    update kernel 3.10-3.12
    haproxy para config
    mysql slave to master
    storage disk
  • 原文地址:https://www.cnblogs.com/zufezzt/p/4688439.html
Copyright © 2011-2022 走看看