zoukankan      html  css  js  c++  java
  • POJ2955 区间DP

    题意:
    都说这题是经典的区间DP,然后没人能把题意说清楚。。。
    弱也说不清。。。只能说个大概,在某段区间里面括号匹配数,区间里的括号和外面的括号不能匹配。。。讲着讲着就讲成了区间DP。。。
    子区间构成大区间,并且满足最优解特性和无后效性
    code…

    //#include <bits/stdc++.h>
    #include<cstdio>
    #include<string.h>
    #include<math.h>
    #include<algorithm>
    using namespace std;
    typedef long long LL;
    typedef unsigned long long ULL;
    const double eps=1e-6;
    const double pi=acos(-1.0);
    const int mod=998244353;
    const int INF=0x3f3f3f3f;
    
    const int N=1e2+10;
    
    char s[N];
    int dp[N][N];
    
    int main()
    {
        int len,i,j,k,x;
        while(scanf("%s",s),s[0]!='e'){
            len=strlen(s);
            memset(dp,0,sizeof(dp));
            for(k=1;k<len;k++)
            {
                for(i=0,j=k;j<len;i++,j++)
                {
                    if(s[i]=='('&&s[j]==')'||s[i]=='['&&s[j]==']')  //直接判断,进行匹配
                        dp[i][j]=dp[i+1][j-1]+2;
                    for(x=i;x<j;x++)                            //小区间构成大区间**迭代更新
                        dp[i][j]=max(dp[i][j],dp[i][x]+dp[x+1][j]);
                    //printf("dp[%d][%d]=%d ",i,j,dp[i][j]);
                }
                //puts("");
            }
            printf("%d
    ",dp[0][len-1]);
        }
    }
    
  • 相关阅读:
    ubuntu 设置静态ip
    Mysqldump参数大全
    MySQL主从数据库同步
    MySQL的information_schema的介绍
    mysql的REGEXP 和like的详细研究和解释
    查询语句小技巧
    linux 安装软件,卸载软件 等的几种方式
    正则表达式的神秘面纱
    29
    【转载】关于c++中的explicit
  • 原文地址:https://www.cnblogs.com/keyboarder-zsq/p/5934410.html
Copyright © 2011-2022 走看看