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

线性DP P1269

时间:2017-10-29 18:43:43      阅读:157      评论:0      收藏:0      [点我收藏+]

标签:main   space   联系   ret   algorithm   for   size   can   scan   

 

见注释

注意理解sum表示含义以及f[i][j]和sum联系

#include<cstdio>

#include<algorithm>

#include<cstring>

#define F(i,s,e) for(int i=s;i<=e;i++)

#define D(i,e,s) for(int i=e;i>=s;i--)

using namespace std;

 

int n,m;

int f[520][520];//zzh beser

int sum[520][520];

int h[520],temp;...

P1269

见注释

注意理解sum表示含义以及f[i][j]和sum联系

#include<cstdio>

#include<algorithm>

#include<cstring>

#define F(i,s,e) for(int i=s;i<=e;i++)

#define D(i,e,s) for(int i=e;i>=s;i--)

using namespace std;

 

int n,m;

int f[520][520];//zzh beser

int sum[520][520];

int h[520],temp;

 

int main()

{

    scanf("%d%d",&n,&m);

    F(i,1,n)

        scanf("%d",&h[i]);

    memset(f,10000,sizeof(f));

    F(i,1,n)//求任意i~j区间内的不和谐度

    {

        F(j,i,n)

        {

            temp=0;

            F(k,i,j)

                temp+=h[k];

            sum[i][j]=temp*(j-i+1-temp);

        }

        f[1][i]=sum[1][i];//到i的不和谐度就是1~i不和谐度

    }

    F(i,2,m)

        F(j,i,n)

            F(k,i-1,j)

                f[i][j]=min(f[i][j],f[i-1][k]+sum[k+1][j]);

    printf("%d\n",f[m][n]); 

    return 0;

线性DP P1269

标签:main   space   联系   ret   algorithm   for   size   can   scan   

原文地址:http://www.cnblogs.com/Murs/p/7750500.html

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