码迷,mamicode.com
首页 > 其他好文 > 详细

POJ 1160

时间:2015-06-09 16:14:45      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:

#include <iostream>
#define MAXN 305
#define inf 123456789
using namespace std;

int _m[MAXN][MAXN];
int _o[MAXN][MAXN];
int _c[MAXN];

int main()
{
    //freopen("acm.acm","r",stdin);
    int n;
    int m;
    int i;
    int j;
    int k;

    cin>>n;
    cin>>m;
    
    for(i = 1; i <= n; ++ i)
    {
        cin>>_c[i];
    }

    for(i = 1; i <= n; ++ i)
    {
        for(j = 1; j <= n; ++ j)
        {
            if(i < j)
            {
                _o[i][j] = _o[i][j-1] + _c[j] - _c[(i+j)/2];
            }
            else
            {
                _o[i][j] = 0;
            }
        }
    }

    for(i = 1; i <= n; ++ i)
    {
        _m[i][1] = _o[1][i];
    }

    for(i = 2; i <= m; ++ i)
    {
        for(j = 2; j <= n; ++ j)
        {
            _m[j][i] = inf;
            for(k = 2; k < j; ++ k)
            {
                
                if(_m[j][i] > _m[k][i-1] + _o[k+1][j])
                {
                    _m[j][i] = _m[k][i-1] + _o[k+1][j];
                }
            }
        }
    }
    cout<<_m[n][m]<<endl;
}

 

POJ 1160

标签:

原文地址:http://www.cnblogs.com/gavinsp/p/4563306.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!