标签:des style blog java color os
2 1 1 3
#include<algorithm> #include<iostream> using namespace std; int min(int a,int b) { return a<b?a:b; } int square(int a) { return a*a; } int n,i,k,j,l,a[2005],b[2005][2005];//a[]数据,b[]滚动数组 int main() { while(cin>>n>>k) { for(i=1;i<=n;i++) cin>>a[i]; sort(a+1,a+1+n); b[0][0]=0; for(i=1,j=2;i<=k;i++,j=2*i)//i表示几队,j表示多少物品 { b[i][j]=b[i-1][j-2]+square(a[j]-a[j-1]); for(l=j+1;l<=n;l++) b[i][l]=min(b[i][l-1],b[i-1][l-2]+square(a[l]-a[l-1]));//细品看懂这个动规 } cout<<b[k][n]<<endl; } return 0; }
标签:des style blog java color os
原文地址:http://www.cnblogs.com/hrhguanli/p/3860750.html