hdu 1421 搬寝室(DP)

搬寝室 搬寝室是很累的,xhd深有体会.时间追述2006年7月9号,那天xhd迫于无奈要从27号楼搬到3号楼,因为10号要封楼了.看着寝室里的n件物品,xhd开始发呆,因为n是一个小于2000的整数,实在是太多了,于是xhd决定随便搬2*k件过去就行了.但还是会很累,因为2*k也不小是一个不大于n的整数.幸运的是xhd根据多年的搬东西的经验发现每搬一次的疲劳度是和左右手的物品的重量差的平方成正比(这里补充 阅读详情

搬寝室

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 10915    Accepted Submission(s): 3661


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

思路:先排序,很明显,是和离其最近的方差和最小。

            f[a][b],前a件物品拿b次的最少疲劳度。

           f[a][b]=min(f[a-1][b],f[a-2][b-1]+(s[a]-s[a-1])^2);


#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;
const int mm=3010;
const int oo=1e9;
long long f[mm][mm];
int n,k;
int s[mm];
long long fan(int x,int y)
{
  long long z=(x-y)*(x-y);
  return z;
}
int main()
{
  while(cin>>n>>k)
  {
    for(int i=0;i<n;i++)cin>>s[i];
    sort(s,s+n);
    for(int i=0;i<=n;i++)
      for(int j=0;j<=k;j++)
      f[i][j]=oo;
    for(int i=0;i<=n;i++)
      f[i][0]=0;
    for(int i=2;i<=n;i++)
    {
      for(int j=1;j<=i&&j<=k;j++)
      {
        f[i][j]=min(f[i-1][j],f[i-2][j-1]+fan(s[i-1],s[i-2]));
      }
    }

    cout<<f[n][k]<<"\n";
  }
}




搬寝室 - 九度教程第 99 题 搬寝室 - 九度教程第 99 题 题目 时间限制:1 秒 内存限制:32 兆 特殊判题:否 题目描述: 搬寝室是很累的,xhd 深有体会.时间追述 2006 年 7 月 9 号,那天 xhd 迫于无奈要从 27 号楼搬到 3 号楼,因为 10 号要封楼了.看着寝室里的 n 件物品,xhd 开始发呆,因为 n 是一个小于 2000 的整数,实在是太多了,于是 xhd 决定随便搬 2k 件过去就行了... 阅读详情

相关推荐

ACM第一题答案

ACM第一题,很多人都因为格式错误而WA

k8Studio:一体化Kubernetes本地IDE,提升容器编排开发与运维效率

在云原生和容器化技术普及的背景下,Kubernetes已成为容器编排的事实标准。其通过声明式API和控制器模式,实现了应用部署、伸缩和管理的自动化,为微服务架构提供了强大的运维支撑。然而,传统基于命令行和YAML文件的操作方式,对开发者和运维人员提出了较高的学习门槛,且在多集群管理、实时调试等场景下效率受限。为此,本地化Kubernetes集成开发环境(IDE)应运而生,旨在通过图形化界面整合集群管理、应用部署、监控日志等核心功能,将控制平面置于用户本地,兼顾安全性与操作体验。这类工具尤其适用于需要频繁进行

weixin_30326515的博客 677

不只是烧录:深入理解英飞凌Aurix MCU的HSM安全模块与UDE Memtool解锁操作

本文深入探讨了英飞凌Aurix MCU的HSM安全模块设计与UDE Memtool解锁操作,揭示了硬件安全模块的架构、安全启动链机制及调试接口的安全特性。通过分析UDE Memtool的解锁逻辑和量产环境下的最佳实践,帮助工程师更好地应对MCU锁定问题,提升汽车电子和工业控制领域的安全烧录效率。

weixin_32770423的博客 298

Hdoj 1421.搬寝室 题解

Problem Description 搬寝室是很累的,xhd深有体会.时间追述2006年7月9号,那天xhd迫于无奈要从27号楼搬到3号楼,因为10号要封楼了.看着寝室里的n件物品,xhd开始发呆,因为n是一个小于2000的整数,实在是太多了,于是xhd决定随便搬2k件过去就行了.但还是会很累,因为2k也不小是一个不大于n的整数.幸运的是xhd根据多年的搬东西的经验发现每搬一次的疲劳度...

优快云2082的博客 427

ROS2多线程处理RTSP视频流避坑指南:OpenCV解码丢帧问题解决方案

本文针对ROS2中处理RTSP视频流时OpenCV解码丢帧的常见问题,提供了专业的解决方案。通过深入分析单线程模型的瓶颈,提出并详细拆解了基于生产者-消费者多线程模型的健壮实现方案,有效分离数据采集与处理,从而显著提升视频流的稳定性和流畅度。

weixin_29199873的博客 168

Ubuntu下安装Hive3.1.2教程(附MySQL安装方法及安装包)

文章目录前言一、安装Hive1. 下载压缩包并解压2. 安装Hive3. 配置环境变量4. 修改配置文件二、MySQL安装与配置1. 安装MySQL2. 安装MySQL jdbc包3. 为Hive创建MySQL账号三、验证Hive安装及错误处理1. 启动Hadoop2. 启动hive3. 运行Hive实例总结 前言 Hive 的安装需要建立在 Hadoop 的之上(类似于Hbase),关于 Hadoop 的单机安装以及伪分布式安装可以参考作者的另两篇博客: Ubuntu下单机安装Hadoop详细教程(附

程序必须为人类阅读而编写,并且仅仅碰巧可以让机器执行 1万+

hdu1421 搬寝室

搬寝室是很累的,xhd深有体会.时间追述2006年7月9号,那天xhd迫于无奈要从27号楼搬到3号楼,因为10号要封楼了.看着寝室里的n件物品,xhd开始发呆,因为n是一个小于2000的整数,实在是太多了,于是xhd决定随便搬2k件过去就行了.但还是会很累,因为2k也不小是一个不大于n的整数.幸运的是xhd根据多年的搬东西的经验发现每搬一次的疲劳度是和左右手的物品的重量差的平方成正比(这里补充一句...

Gee_Zer的博客 298

(全网最详细教程)康耐视读码器(以DM260S为例子)详细实用步骤

(全网最详细教程)康耐视读码器(以DM260S为例子)详细实用步骤

视觉人机器视觉的博客 7465

HDU 1421 搬寝室 (DP)

题目链接:HDU 1421 搬寝室 中文题。 dp[i][j] 的意义是:前i件物品取2*j 件的最小疲劳值 先从小到大排序。 当j==2*i ,dp[i][j]=dp[i-2][j-1]+(a[i]-a[i-1])*(a[i]-a[i-1]); 当j>2*i,dp[i][j]=min(dp[i-1][j],dp[i-2][j-1]+(a[i]-a[i-1])*(a[i]-a[i-1])

n-1 716

【升级U8+】不能将值 NULL 插入列 ‘VT_ID‘,表 ‘VoucherItems‘;列不允许有 Null 值。

不能将值 NULL 插入列 ‘VT_ID’,表 ‘UFDATA_006_2012.dbo.VoucherItems’;列不允许有 Null 值。INSERT 失败。

努力不懈的为广大客户提供优质的产品与真诚、贴心、专业的服务! 515

Qualcomm Camera 启动优化实战:Preview、Snapshot、ZSL 路径控制与时延剖析

在移动终端上,Camera 的“启动速度”与“抓拍响应”是决定用户体验的关键指标。以 Qualcomm Snapdragon 平台为代表,Camera Stack 涉及 HAL 初始化、Session 配置、ISP 路径激活、Buffer 分配、图像流启动等多个异步流程,稍有设计不当将导致 Preview 启动缓慢或抓拍延迟明显。本文基于高通平台架构与 CamX 实战经验,详细剖析 Preview 与 Snapshot 启动路径,重点分析 ZSL 模式下的全链路优化策略,给出具体时延测量方法与调试参数建议。

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 1582

HDU - 1421 搬寝室 (DP)

题目链接:HDU - 1421 搬寝室题意:n件物体里面,取2*k件(每次2件),每次疲劳度为两件物体质量差的平方,求结束后的最小疲劳度因为相邻的质量差最小,所以可以先排序,每次只用考虑从相邻的地方取对于每一个物体,分为取、不取两种可能(类似01背包)状态:dp[i][j]:表示从j个里面选2*i个时,最小的疲劳度转移方程:...

weixin_34217773的博客 175

大模型知识边界探索:LLM设计的极限测试

最优化理论是数学中的一个分支,主要研究如何从给定的一组约束条件下找到最优解。目标函数:定义了需要优化的指标,可以是最大化或最小化。约束条件:定义了在优化过程中需要满足的限制条件。无约束优化:目标函数和约束条件都不存在。有约束优化:目标函数存在,但存在约束条件。多目标优化:同时需要优化多个目标函数。极限测试(Ultimate Test)是一种系统性的方法,用于评估大型模型(如LLM)在极端条件下的性能和稳定性。极端数据分布:与模型训练数据分布显著不同的数据集。极端计算资源。

AI天才研究院 432

HDU 1421 搬寝室(dp)

题目链接:HDU 1421 搬寝室 dp。 思路(蓝飞技术部落格): 每对物品都应是重量最为接近的物品,也就是说对n件物品排序后,每对物品都应该是连续的。 证明大家都会,就此略过。 以动态规划的思想来思考本题: 定义数组a[i]为搬第i对物品所消耗的疲劳值;数组f[n][k]来表示在n件物品中搬k对的最佳状态,而达到这一状态的决策可能为: 第n件物品不搬,即在前n -

fobdddf的专栏 676

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

HDU 1421 搬寝室[DP]

搬寝室 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 17775    Accepted Submission(s): 6031 Problem Description 搬寝室是很累的,xhd深有体会.时间追述2006年

code_or_code 1025

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

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

hdu1421搬寝室DP(ACM题目,动态规划) 分类: 学习总结 数据结构和算法 2011-11-07 19:14 327人阅读 评论(0) 收藏 举报 分析:dp[i][j]表示前i个元素中 j 对数的最小差平方和       dp[i][j] = min(dp[i-1][j], dp[i-2][j-1] + (weight[i] - weight[i-1

wenlovingliu的专栏 656

hdu 题目1421 搬寝室(DP)

搬寝室 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 13141    Accepted Submission(s): 4441 Problem Description 搬寝室是很累的,xhd深有体会.时间追述2

Hanks软件库 1207

HDU 1421 搬寝室 二维DP

传送门:HDU 1421 搬寝室分析: 先对n中物品的重量排序 令dp[i][j]表示前i个物品中选j对的最小疲劳度。 则dp[i][j]可能含有第i个物品(这种情况下,第i种物品一定是和第i-1个物品配对), 则dp[i][j]=dp[i-2][j-1]+(val[i]-val[i-1])*(val[i]-val[i-1]) dp[i][j]的j对也可能不含有第i个物品,此时有 dp[

知 识 不 是 装 饰。 431

Hdu 1421 搬寝室

Hdu 1421 搬寝室 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1421 解题思路: 对于每一位的物品,都有取与不取两种做法,如果取了,那就要加上疲劳值,不取,那就等于前面算好的结果,(初始化要完整),用二维dp来处理,i表示物品数,j表示物品对数,状态转移方程:dp[i]j=min(dp[i-1]j,dp[i-2][j-1]+(num[i...

weixin_43823753的博客 256

HDU-1421 搬寝室 【DP】

Problem Description 搬寝室是很累的,xhd深有体会.时间追述2006年7月9号,那天xhd迫于无奈要从27号楼搬到3号楼,因为10号要封楼了.看着寝室里的n件物品,xhd开始发呆,因为n是一个小于2000的整数,实在是太多了,于是xhd决定随便搬2*k件过去就行了.但还是会很累,因为2*k也不小是一个不大于n的整数.幸运的是xhd根据多年的搬东西的经验发现每搬一...

160

HDU 1421 搬寝室 dp

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1421 思路:思路来自百度。             这是一道dp,先对数组排序,那么可以求单个数的左右最优解。定义dp[i][j]为从前i个数中取j对数,符合题意的要求,假设dp[i][j]中有第i个物品,那么第i个物品一个和第i-1个物品配对,于是有dp[i][j] = dp[i-2][j] + (

弱智就要多努力 575

HDU 1421 搬寝室(DP)

先把物品重量从小到大排序 d[i][j]表示前i件物品选j对的最小疲劳 若选了第i个物品 那么和它一对的必是第i-1个物品 注意是前i件 i=j*2时 没有选择 d[i][j]=d[i-2][j-1]+(w[i]-w[i-1])^2 i>j*2时 存在第i个选或者不选之分 若选了第i个的话 那么问题就转化为在i-2个物品中选j-1个了 若不选第i个的话 问题转化为在i-1个物品中选j个了 那么就有转移方程d[i][j]=min(d[i-1][j],d[i-2][j-1]+(w[i]-w[i-1

Good morning,good afternoon and good night 963

HDU 1421 搬寝室 DP

搬寝室是很累的,xhd要从n件物品中搬走2*k件,(左右手各拿一件),他的每次疲劳度和左右手的物品的重量差的平方成正比,求搬完后最小的疲劳度。

细语呢喃 1136

hdu1421 搬寝室(dp)

我的第一个dp程序 哎! 可惜状态方程不是自己想的 有点小小的遗憾!! 搬寝室 Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total Submission(s):107 Accepted Submission(s):40 Problem De...

angtongyou1893的博客 142
上一篇: CF-25E - Test(KMP)
下一篇: hdu 1422 重温世界杯(DP 最长非负子序列)
剑不飞
博客等级 码龄15年 86粉丝 505原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值