zoukankan      html  css  js  c++  java
  • CodeForces 191A

    CodeForces 191A

    考虑 dp

    dp[i][j] 表示 以i 为开头以 j 为结尾字符串能够满足条件的最大值。

    因为要满足 a...b,c....d a == d && b == c 的条件。。

    直接

            for (int j = 1; j <= 26; j++)
            {
                if (dp[j][st])
                    dp[j][ed] = max(dp[j][ed], dp[j][st] + m);
            }
            dp[st][ed] = max(dp[st][ed], m);
    

    枚举开头进行更新,或者枚举结尾的位置更新也行。。

    int dp[100][100];
    string s[N];
    int main()
    {
        int n;
        cin >> n;
        rep(i, n)
        {
            cin >> s[i];
        }
        rep(i, n)
        {
            int m = s[i].size();
            int st = s[i][0] - 'a' + 1;
            int ed = s[i][m - 1] - 'a' + 1;
            for (int j = 1; j <= 26; j++)
            {
                if (dp[j][st])
                    dp[j][ed] = max(dp[j][ed], dp[j][st] + m);
            }
            dp[st][ed] = max(dp[st][ed], m);
        }
        int ans = 0;
        for (int i = 1; i <= 26; i++)
        {
            ans = max(ans, dp[i][i]);
        }
        cout << ans << endl;
        return 0;
    }
    
    
  • 相关阅读:
    Linux正则和grep命令
    Linux用户和权限
    XP下安装ubuntu
    Linux命令行和shell编程
    Linux软件安装及基本概念
    Linux历史,安装,分区,版本
    Eric Linux
    批量插入数据
    Django 相关
    标签,
  • 原文地址:https://www.cnblogs.com/strategist-614/p/12623772.html
Copyright © 2011-2022 走看看