zoukankan      html  css  js  c++  java
  • HDU1421搬寝室(简单DP)

    当然,还可以加滚动数组优化。

    #include<cstdio>
    #include<cstdlib>
    #include<iostream>
    #include<memory.h>
    #include<cmath>
    #include<algorithm>
    using namespace std;
    const long long  inf=1000000000000000000;
    long long  p[2010],dp[2010][2010];
    int main()
    {
        int n,K,i,j;
        while(~scanf("%d%d",&n,&K)){
            for(i=1;i<=n;i++) 
             scanf("%lld",&p[i]);
            for(i=0;i<=n;i++) dp[i][0]=0;
            sort(p+1,p+n+1);
            for(i=1;i<=n;i++)
             for(j=1;j<=i;j++) dp[i][j]=inf;
            for(i=1;i<=n;i++){
                for(j=1;j<=i;j++){
                    if(i-1>=j) dp[i][j]=min(dp[i][j],dp[i-1][j]);
                    if(j>=2) dp[i][j]=min(dp[i][j],(dp[i-2][j-2]+(p[i-1]-p[i])*(p[i-1]-p[i])));
                }
            }
            printf("%lld
    ",dp[n][2*K]);
        }
        return 0;
    } 
     
  • 相关阅读:
    窗口设置背景图片
    双链表
    单链表
    Hough直线检测
    轮廓跟踪
    轮廓提取
    基于腐蚀的二值图像距离变换
    创建对话框用于交互
    hello world
    c#---params参数
  • 原文地址:https://www.cnblogs.com/hua-dong/p/7634118.html
Copyright © 2011-2022 走看看