题目:搬寝室

题目链接: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. Nginx的configure各项中文说明

    –prefix=<path> – Nginx安装路径.如果没有指定,默认为 /usr/local/nginx. –sbin-path=<path> – Nginx可执行文件安装 ...

  2. TCP长连接保持连接状态

    对于TCP长连接保活是十分必要的,原因如下: 1.系统多在OA网和外网间有防火墙隔离,很多防火墙对一段时间内没有报文活动的socket会自动关闭. 2.对于非正常断开的连接系统并不能侦测到,比如防火墙 ...

  3. 单页应用 - Token 验证

    单页应用 - Token 验证 转:https://juejin.im/post/58da720b570c350058ecd40f 第一次接触单页应用,记录公司项目关于Token验证知识. Token ...

  4. 解决Go依赖包安装问题

    最近在学习Go编写后端服务,先放出谢大的书镇楼: https://github.com/astaxie/build-web-application-with-golang/blob/master/zh ...

  5. WIN10中DOCKER的安装

    1.docker的安装 环境准备 Docker for Windows是一个Docker Community Edition(CE)应用程序.Docker for Windows安装包包含了在Wind ...

  6. 需要熟练的Python知识点

    数据与列表元祖字符串 repr(x) 将对象x转换为表达式字符串 eval(str) 用来计算在字符串中的有效Python表达式,并返回一个对象 unichr(x) 将一个整数转换为Unicode字符 ...

  7. layui之确认框

    要使用layui的确认框,需要导入layui的两个库,分别为layer.js和layer.css,除此之外layui.js和layui.css的库也是要导入,这个请注意.所有说你需要分别导入四个库la ...

  8. [转]C#中基于GDI+(Graphics)图像处理系列之前言

    直接给出原文链接吧: C#中基于GDI+(Graphics)图像处理系列之前言 链接:https://pan.baidu.com/s/1zm5TCOHqkqEfiLZuqO0UMA 提取码:qz0h

  9. DataX

    #!/bin/bash[ ! -d /opop ] && mkdir /opopcd /opopwget http://192.168.1.129/package/DataX/{jdk ...

  10. UOJ236 IOI2016 Railroad 差分、欧拉回路、最小生成树

    传送门 将"进入路段时速度\(\leq s_i\)"转换为:"进入路段时速度恰好等于\(s_i\),并且铺设铁轨有加速和减速两种,加速无需代价,减速每\(1 km/h\) ...