hdu 1421 搬寝室

原创 2012年03月26日 19:02:50

先排序。因为相邻的两个数平方肯定是最小的。

然后一个一个地增长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;
    }
    


WordPress网站安全&搬家视频教程

网站就像我们在线上开的店铺,不仅仅需要装修,还需要对店铺进行升级和安全维护,如果空间不给力,我们还需要学会怎么进行网站搬迁。 本套课程就是教会怎么进行网站备份,升级维护、安全搬家等操作。
  • 2017年01月24日 16:56

搬寝室(hdu-1421)

这道题的dp数组含义还是很不好想的,一开始我根据状态量来枚举,要枚举三重循环,必然超时。后来参考别人的做法dp[i][j]表示在i件物品中选j对所需的最小疲劳值,相信几乎所有题解都是这么写的,你们也看...
  • weizhuwyzc000
  • weizhuwyzc000
  • 2015-05-18 16:23:48
  • 1068

hdu1421搬寝室DP(ACM题目,动态规划)

分析:dp[i][j]表示前i个元素中 j 对数的最小差平方和       dp[i][j] = min(dp[i-1][j], dp[i-2][j-1] + (weight[i] - weight...
  • wche1990
  • wche1990
  • 2011-11-07 19:14:01
  • 1053

hduoj 1421搬寝室【动态规划】

搬寝室 Problem Description 搬寝室是很累的,xhd深有体会.时间追述2006年7月9号,那天xhd迫于无奈要从27号楼搬到3号楼,因为10号要封楼了.看着寝室里的n件物品,x...
  • qq_34457443
  • qq_34457443
  • 2016-12-02 17:38:54
  • 392

ACM第6天 Dp进阶HDU 1421 搬寝室

搬寝室 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Subm...
  • lccurious
  • lccurious
  • 2015-01-25 00:32:43
  • 379

HDU 1421 搬寝室 动态规划

Description 胡老师马上要搬新家了,可是搬家真的是一个很累的活,看着家里的n件物品, 胡老师已经凌乱了,因为物品实在太多。于是胡老师想了又想,决定先随便搬2* p件过去就行了。 现在,胡老...
  • sulisulisu
  • sulisulisu
  • 2016-07-25 16:34:11
  • 451

HDU 1421 搬寝室 (DP)

题目链接:HDU 1421 搬寝室 中文题。 dp[i][j] 的意义是:前i件物品取2*j 件的最小疲劳值 先从小到大排序。 当j==2*i ,dp[i][j]=dp[i-2][j-1]+(...
  • u012377575
  • u012377575
  • 2015-02-07 12:31:38
  • 477

HDOJ 1421 搬寝室 杭电 ACM

此类的状态转移方程非常经典 但先要理解为何每趟只搬相邻的 PPT中给出的不等式很有帮助 #include #include using namespace std; int n,k,i,j,t,a[...
  • iori31
  • iori31
  • 2013-07-18 09:37:24
  • 1002

杭电1421 搬寝室(dp)

搬寝室 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Subm...
  • u013634213
  • u013634213
  • 2014-08-25 21:18:33
  • 686

hdoj-1421-搬寝室

Description 搬寝室是很累的,xhd深有体会.时间追述2006年7月9号,那天xhd迫于无奈要从27号楼搬到3号楼,因为10号要封楼了.看着寝室里的n件物品,xhd开始发呆,因为n是一个小...
  • Ypopstar
  • Ypopstar
  • 2016-04-13 22:32:33
  • 350
收藏助手
不良信息举报
您举报文章:hdu 1421 搬寝室
举报原因:
原因补充:

(最多只允许输入30个字)