hdu 1421 dp

来源:互联网 发布:windows bat date 编辑:程序博客网 时间:2024/06/04 21:42

     dp啊

#include<iostream>using namespace std;#include<cstdio>#include<cstring>#include<algorithm>long long dp[2005][2005],a[2005];int main(){    int n,k;    while(scanf("%d%d",&n,&k)==2)    {        int i,j;        for(i=1;i<=n;i++)            cin>>a[i];        sort(a+1,a+1+n);//¼Çס£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡        for(i=0;i<=n;i++)            for(j=0;j<=k;j++)            dp[i][j]=0;        for(i=2;i<=n;i++)        {            for(j=1;j*2<=i;j++)            {                if(j*2==i)                {                    dp[i][j]=dp[i-2][j-1]+(a[i]-a[i-1])*(a[i]-a[i-1]);                }                else                {                    dp[i][j]=min(dp[i-1][j],dp[i-2][j-1]+(a[i]-a[i-1])*(a[i]-a[i-1]));                }            }        }        //cout<<endl;        printf("%lld\n",dp[n][k]);    }    return 0;}


 

原创粉丝点击