题目:搬寝室

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1421

 #include<stdio.h>
#include<algorithm>
using namespace std;
#define N 2100
typedef long long LL;
LL dp[N][N/]; //dp[i][j]: 前 i 件中拿走j对最少疲劳度
LL a[N]; //记录重量
LL fun(LL i,LL j) //一次性搬运第 i 件和第 j 件消耗的疲劳度
{
return (a[j]-a[i])*(a[j]-a[i]);
}
LL min(LL a,LL b)
{
return a>b?b:a;
}
int main()
{
LL n,k;
while(scanf("%I64d%I64d",&n,&k)!=EOF)
{
for(LL i=;i<=n;i++)
{
scanf("%I64d",&a[i]);
}
sort(a,a+n+); //关键的一步,排序,排完序以后每次拿走的某对就肯定是相邻的
for(LL i=;i<=n;i++)
for(LL j=;j<=n/;j++)
dp[i][j]=;
for(LL i=;i<=n;i++) //不管前几件,拿走0对疲劳度肯定为0
dp[i][]=;
dp[][]=fun(,); //前两件取一对疲劳度固定
for(LL i=;i<=n;i++)
{
for(LL j=;j<=i/;j++)
{
dp[i][j]=min(dp[i-][j],dp[i-][j-]+fun(i-,i));
//前i件取j件分两种情况:
//1.第i件不取:那么最佳情况为dp[i-1][j];
//2.第i件取走:那么第j件必然和第j-1件一起拿,那么最佳为dp[i-2][j-1]+fun(i-1,i)
}
}
printf("%I64d\n",dp[n][k]);
}
return ;
}

hdu1421_搬寝室的更多相关文章

  1. B - 搬寝室

    Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Status Pract ...

  2. hdu---(1421)搬寝室(dp)

    搬寝室 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submiss ...

  3. HDU 1421 搬寝室

    搬寝室 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submiss ...

  4. 九度OJ 1452 搬寝室 -- 动态规划

    题目地址:http://ac.jobdu.com/problem.php?pid=1452 题目描述: 搬寝室是很累的,xhd深有体会.时间追述2006年7月9号,那天xhd迫于无奈要从27号楼搬到3 ...

  5. 搬寝室(HDU 1421 DP)

    搬寝室 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submiss ...

  6. hdu 1421 搬寝室(dp)

    Problem Description 搬寝室是很累的,xhd深有体会.时间追述2006年7月9号,那天xhd迫于无奈要从27号楼搬到3号楼,因为10号要封楼了.看着寝室里的n件物品,xhd开始发呆, ...

  7. 搬寝室 hdu

    Problem Description 搬寝室是很累的,xhd深有体会.时间追述2006年7月9号,那天xhd迫于无奈要从27号楼搬到3号楼,因为10号要封楼了.看着寝室里的n件物品,xhd开始发呆, ...

  8. 搬寝室(经典dp)

    题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1421 hdu_1421:搬寝室 Time Limit: 2000/1000 MS (Java/Othe ...

  9. Hdoj 1421.搬寝室 题解

    Problem Description 搬寝室是很累的,xhd深有体会.时间追述2006年7月9号,那天xhd迫于无奈要从27号楼搬到3号楼,因为10号要封楼了.看着寝室里的n件物品,xhd开始发呆, ...

随机推荐

  1. mongoDB python 操作

    mongoDB python 操作 import pymongo mongo_client = pymongo.MongoClient(host="127.0.0.1",port= ...

  2. 2018年6月,最新php工程师面试总结

    面试经常被问到的问题总结 1.字符串函数 2.数组函数 3.cookie和session的区别 4.状态码以及其功能

  3. 基于位置的服务——百度地图SDK练习

    基于位置的服务所围绕的核心就是要先确定出用户所在的位置.通常有两种技术方式可以实现:一种是通过GPS定位,一种是通过网络定位.Android对这两种定位方式都提供了相应的API支持.但由于众所周知的原 ...

  4. [matlab] 1.拟合

    x = [1 2 3 4 5 6 7 8 9 ]; y = [9 7 6 3 -1 2 5 7 20]; p=polyfit(x,y,3); %数字代表拟合函数的阶数 xi=0:0.01:10; yi ...

  5. Thymeleaf3语法详解

    每天学习一点点 编程PDF电子书.视频教程免费下载:http://www.shitanlife.com/code   Thymeleaf是Spring boot推荐使用的模版引擎,除此之外常见的还有F ...

  6. 【转】ffmpeg 常用命令

    1. 视频转换 比如一个avi文件,想转为mp4,或者一个mp4想转为ts. ffmpeg -i input.avi output.mp4 ffmpeg -i input.mp4 output.ts ...

  7. 微信小程序PHP 微信支付接口调用

    小程序端 /** * 微信支付接口 */ wxPaymoney:function (out_trade_no, true_money){ //out_trade_no 后台统一下单接口需要用 var ...

  8. VS2015中配置Eigen

    Eigen非常方便矩阵操作,当然它的功能不止如此.矩阵操作在算法研究过程中,非常重要,例如在图像处理中二维高斯拟合求取光斑中心时使用Eigen提供的矩阵算法,差不多十来行代码即可实现. 1)下载Eig ...

  9. 【消息队列】 RabbitMQ教程汇总

    https://www.cnblogs.com/wyt007/category/1218660.html

  10. 关于tomcat启动报“this web application instance has been stopped already”的处理

      出现情况1            启动tomcat的时候,默认会启动这个“/tomcat/webapps/ROOT”路径下的tomcat自带的程序包,当启动这个路径下的程序包后,如果tomcat扫 ...