zoukankan      html  css  js  c++  java
  • Brackets POJ 2955 区间dp

    题意:给出一个的只有'(',')','[',']'四种括号组成的字符串,求最长长度多少,end结束

    思路:区间dp,dp[i][j]表示区间[i,j]符合要求的长度

    #include<iostream>
    #include<algorithm>
    #include<cstring>
    #include<stack>
    #include<cmath>
    #include<queue>
    using namespace std;
    #define ll long long
    #define N 205
    #define rep(i,l,r) for(i=l;i<=r;i++)
    const int mod = 1e9 + 7;
    const int INF = 0x3f3f3f3f;
    #define eps 0.00000001//偏差值1e8
    #define pi acos(-1.0)//高精度圆周率
    const int maxp = 1010;                    //点的数量
    int a[N];
    int dp[N][N];
    int sum[N];
    int main()
    {
        int i, j, k;
        int n, ret = 0, m, maxn = 0, count = 0;
        int t, x, len;
        char s[N];
        while (cin >> s+1)
        {
            if (strcmp(s+1,"end")==0)
                break;
            n = strlen(s+1);
            memset(dp, 0, sizeof(dp));
            rep(len,2,n)
            {
                rep(i, 1, n)
                {
                    j = i + len - 1;
                    if (j > n)break;
                    if (s[i] == '(' && s[j] == ')' || s[i] == '[' && s[j] == ']')
                        dp[i][j] = dp[i + 1][j - 1] + 2;
                    rep(k, i, j - 1)
                    {
                            dp[i][j] = max(dp[i][j], dp[i][k] + dp[k + 1][j]);
                    }
                }
            }
            cout << dp[1][n] << endl;
        }
    }
            
    
        
  • 相关阅读:
    DirectoryInfo
    TextBox Validation
    ICollectionView
    MEF
    LocBaml
    加快wpf程序 启动速度
    jQuery获取Radio元素的值 深蓝
    如何创建一个规范的zen cart 模板 深蓝
    打通网络营销的任督二脉 深蓝
    jQuery选择没有colspan属性的td 深蓝
  • 原文地址:https://www.cnblogs.com/ch-hui/p/12679687.html
Copyright © 2011-2022 走看看