zoukankan      html  css  js  c++  java
  • Monkey Party HDU 3506 区间dp

    #include<iostream>
    #include<algorithm>
    #include<cstring>
    #include<stack>
    #include<cmath>
    #include<queue>
    using namespace std;
    #define ll long long
    #define N 2005
    #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 s[N][N];
    int main()
    {
        int i, j, k;
        int n, ret = 0, m, maxn = 0, count = 0;
        int t, x, len;
        while (cin >> n) {
            sum[0] = 0;
            memset(dp, INF, sizeof(dp));
            rep(i, 1, n)
            {
                cin >> a[i];
                sum[i] = sum[i - 1] + a[i];
                dp[i][i] = 0;
                s[i][i] = i;
            }
            rep(i, 1, n)
            {
                sum[i + n] = sum[i + n - 1] + a[i];
                s[i + n][i + n] = i + n;
                dp[i + n][i + n] = 0;
            }
            rep(len, 2, n)
            {
                rep(i, 1, 2 * n - 1)
                {
                    j = i + len - 1;
                    if (j > 2 * n - 1)break;
                    rep(k, s[i][j - 1], s[i + 1][j])
                    {
                        if (dp[i][k] + dp[k + 1][j] + sum[j] - sum[i - 1] < dp[i][j])
                        {
                            dp[i][j] = dp[i][k] + dp[k + 1][j] + sum[j] - sum[i - 1];
                            s[i][j] = k;
                        }
                    }
                }
            }
            int ans = INF;
            rep(i, 1, n)
            {
                ans = min(ans, dp[i][i + n - 1]);
            }
            cout << ans << endl;
        }
        return 0;
    }
            
    
        
  • 相关阅读:
    win10 uwp 异步进度条
    win10 uwp 异步进度条
    win10 uwp 简单MasterDetail
    win10 uwp 简单MasterDetail
    如何使用PHP验证客户端提交的表单数据
    PHP 表单和用户输入讲解
    什么是PHP 面向对象
    PHP 命名空间(namespace)定义
    PHP 魔术常量介绍
    archer 安装
  • 原文地址:https://www.cnblogs.com/ch-hui/p/12679469.html
Copyright © 2011-2022 走看看