您的位置:首页 > 其它

HDU 1421 搬寝室 (dp)

2012-08-21 20:38 375 查看
地址:http://acm.hdu.edu.cn/showproblem.php?pid=1421

思路:动态规划dp

借鉴代码如下:

#include<cstring>
#include<iostream>
#include<algorithm>
#define P(x,y) ((x-y)*(x-y))
using namespace std;
int a[2010],d[2010][2010];
int main()
{
int i,j,n,k;
while(cin>>n>>k){
for(i=0;i<n;++i)
cin>>a[i];
sort(a,a+n);
memset(d,0,sizeof(d));
for(i=1;i<=n;++i)
for(j=1;j<=k;++j)
if(i>2*j){
d[i][j]=min(d[i-1][j],d[i-2][j-1]+P(a[i-1],a[i-2]));
}else{
d[i][j]=d[i-2][j-1]+P(a[i-1],a[i-2]);
}
cout<<d
[k]<<endl;
}
system("pause");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: