hdu 1421 搬寝室
来源:互联网 发布:淘宝店首页图片尺寸 编辑:程序博客网 时间:2024/04/28 21:48
先排序。因为相邻的两个数平方肯定是最小的。
然后一个一个地增长DP。判断是否要保留。
DP要注意枚举状态,把全部状态做出来,我们分析的时候容易从一方面切入,但是我们要后面的实现时要全面的枚举。
这题还可以优化一下空间,要滚动数组。
#include <iostream>#include <string.h>#include <algorithm>using namespace std;int dp[2001][1002];int a[2002];int main(){ int n,k,i,j; while(cin>>n>>k) { for(i = 1;i <= n;i ++) cin>>a[i]; a[0] = 0; sort(a,a+n+1); memset(dp,0,sizeof(dp)); for(i = 1;i <= n;i ++) { for(j = 1;j<=k&&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-2][j-1] + (a[i] -a[i-1])*(a[i]-a[i-1]),dp[i-1][j]); } } cout<<dp[n][k]<<endl; }
- HDU 1421 搬寝室
- hdu 1421 搬寝室
- HDU 1421 搬寝室
- hdu 1421 搬寝室
- hdu 1421 搬寝室
- HDU 1421 搬寝室
- hdu 1421 搬寝室
- hdu 1421 搬寝室
- HDU 1421 搬寝室
- HDU 1421 搬寝室
- hdu 1421 搬寝室
- hdu 1421 搬寝室
- hdu 1421 搬寝室
- HDU 1421 搬寝室
- HDU 1421 搬寝室
- HDU 1421 搬寝室
- HDU 1421 搬寝室
- HDU-1421:搬寝室
- Oracle自主事务处理
- 学习的第一天
- eclipse 下调试launcher,如何设置断点
- VB实验报告
- 虚拟机下图形模式登陆不进去的问题
- hdu 1421 搬寝室
- 【Android】对文件和文件夹操作
- jquery中find查找
- 第六周任务(二)
- 第六周实验报告3
- 如何获取Datagridview是否存在滚动条
- 实验报告 6 -0
- 我的心得体会
- VB编程实验报告