zoukankan      html  css  js  c++  java
  • [ACM] hdu 搬寝室

    搬寝室

    Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other)
    Total Submission(s) : 2   Accepted Submission(s) : 2

    Font: Times New Roman | Verdana | Georgia

    Font Size:  

    Problem Description

    搬寝室是很累的,xhd深有体会.时间追述2006年7月9号,那天xhd迫于无奈要从27号楼搬到3号楼,因为10号要封楼了.看着寝室里的n件物品,xhd开始发呆,因为n是一个小于2000的整数,实在是太多了,于是xhd决定随便搬2*k件过去就行了.但还是会很累,因为2*k也不小是一个不大于n的整数.幸运的是xhd根据多年的搬东西的经验发现每搬一次的疲劳度是和左右手的物品的重量差的平方成正比(这里补充一句,xhd每次搬两件东西,左手一件右手一件).例如xhd左手拿重量为3的物品,右手拿重量为6的物品,则他搬完这次的疲劳度为(6-3)^2 = 9.现在可怜的xhd希望知道搬完这2*k件物品后的最佳状态是怎样的(也就是最低的疲劳度),请告诉他吧.

    Input

    每组输入数据有两行,第一行有两个数n,k(2<=2*k<=n<2000).第二行有n个整数分别表示n件物品的重量(重量是一个小于2^15的正整数).

    Output

    对应每组输入数据,输出数据只有一个表示他的最少的疲劳度,每个一行.

    Sample Input

    2 1
    1 3

    Sample Output

    4

    Author

    xhd

    Source

    ACM暑期集训队练习赛(二)



    解题思路:

    代码:

    #include <iostream>
    #include <algorithm>
    #include <string.h>
    using namespace std;
    int dp[2003][1002];
    int w[2003];
    int main()
    {
        int n,k;
        while(cin>>n>>k)
        {
            for(int i=1;i<=n;++i)
                cin>>w[i];
            sort(w+1,w+n+1);//从小到大排序
            for(int i=0;i<=n;i++)
                for(int j=0;j<=n;j++)
            {
               dp[i][j]=2147483346;//初始化小了不行 9999999也不行
               dp[i][0]=0;
    
            }
            for(int i=2;i<=n;i++)
                for(int j=1;j*2<=i&&j<=k;j++)
            {
                dp[i][j]=min((w[i]-w[i-1])*(w[i]-w[i-1])+dp[i-2][j-1],dp[i-1][j]); //状态转移方程
            }
            cout<<dp[n][k]<<endl;
        }
        return 0;
    }
    




    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
  • 相关阅读:
    poj 1579(动态规划初探之记忆化搜索)
    hdu 1133(卡特兰数变形)
    CodeForces 625A Guest From the Past
    CodeForces 625D Finals in arithmetic
    CDOJ 1268 Open the lightings
    HDU 4008 Parent and son
    HDU 4044 GeoDefense
    HDU 4169 UVALive 5741 Wealthy Family
    HDU 3452 Bonsai
    HDU 3586 Information Disturbing
  • 原文地址:https://www.cnblogs.com/sr1993/p/3697795.html
Copyright © 2011-2022 走看看