1. 问题描述:

在一条数轴上有 N 家商店,它们的坐标分别为 A1∼AN。现在需要在数轴上建立一家货仓,每天清晨,从货仓到每家商店都要运送一车商品。为了提高效率,求把货仓建在何处,可以使得货仓到每家商店的距离之和最小。

输入格式

第一行输入整数 N。
第二行 N 个整数 A1∼AN。

输出格式

输出一个整数,表示距离之和的最小值。

数据范围

1 ≤ N ≤ 100000,
0 ≤ Ai ≤ 40000

输入样例:

4
6 2 9 1

输出样例:

12

来源:https://www.acwing.com/problem/content/106/

2. 思路分析:

这道题目属于绝对值不等式知识点的题目,其中利用到了下图中的不等式,当只有两个点的时候x在a,b之间等号成立,这个等式可以扩展到具有n个点的情况,只需要将这n个点进行头尾两两分组,只有当x位于a1,a2,a3...an最中间的时候那么x位于这些点的区间内或者是端点上这个时候等号才是成立的,也即位于a1,a2...an中位数的时候等号成立。所以我们只需要对输入的坐标进行排序,求解出这些坐标的中位数,遍历所有坐标求解出这些坐标与中位数的差值那么就是要求的距离之和的最小值。

3. 代码如下:

if __name__ == '__main__':n = int(input())nums = list(map(int, input().split()))nums.sort()res = 0for i in range(len(nums)):res += abs(nums[i] - nums[n // 2])print(res)

104 货仓选址(绝对值不等式)相关推荐

  1. 104. 货仓选址——绝对值不等式的运用,中位数巧用

    题目链接 文章目录 题解 AC代码 注意 题解 |a-x|+|b-x|>=|a-b| 当只有a,b两个商店时,仓库建在a,b之间可以取得最小值 扩展到n个物品的时候 当n为偶数时,ans=|x- ...

  2. [绝对值不等式] 货仓选址(绝对值不等式+贪心)

    文章目录 0. 前言 1. 排序不等式+贪心 0. 前言 最最最经典的绝对值不等式问题,有很多变种.这个题是最裸的模板题了. 1. 排序不等式+贪心 104. 货仓选址 贪心思路: 按照商店坐标从小到 ...

  3. 023货仓选址(绝对值不等式)

    题目描述: 在一条数轴上有 N 家商店,它们的坐标分别为 A1~AN. 现在需要在数轴上建立一家货仓,每天清晨,从货仓到每家商店都要运送一车商品. 为了提高效率,求把货仓建在何处,可以使得货仓到每家商 ...

  4. 绝对值不等式 AcWing 104. 货仓选址

    绝对值不等式 AcWing 104. 货仓选址 原题链接 AcWing 104. 货仓选址 算法标签 排序 快速选择算法 贪心 绝对值不等式 思路 排序后取中位数为货仓建立地点 证明 根据 则 等号成 ...

  5. [AcWing] 104. 货仓选址(C++实现)贪心---绝对值不等式例题

    [AcWing] 104. 货仓选址(C++实现)贪心---绝对值不等式例题 1. 题目 2. 读题(需要重点注意的东西) 3. 解法 4. 可能有帮助的前置习题 5. 所用到的数据结构与算法思想 6 ...

  6. [算法总结] 中位数+绝对值不等式 AcWing 104. 货仓选址

    104. 货仓选址 思路: 排序之后取中位数 中位数的性质,所有数到他的和是最小的 大佬的话: 中位数有非常优秀的性质, 比如说在这道题目中, 每一个点到中位数的距离, 都是满足全局的最有性,而不是局 ...

  7. 【acwing】104. 货仓选址*(贪心|绝对值不等式)

    穿越隧道 绝对值不等式 如果x在a~b区间外,∣a−x∣+∣b−x∣>=∣a−b∣|a - x| + |b - x| >= |a-b|∣a−x∣+∣b−x∣>=∣a−b∣(当x在a, ...

  8. Acwing 104. 货仓选址 (数学题,绝对值不等式)

    这道题目只涉及距离最短,没有考虑配送路径的问题,所以不要想多.最短距离的数学表达式可以写出来,实际上就是求这个距离的最小值.一维问题是曼哈顿距离,求这个最小值用的方法是绝对值不等式,建议先从两个站点入 ...

  9. 每日四题打卡-4.15:耍杂技的牛/贪心绝对值不等式-货仓选址/贪心排序不等式-排队打水/huffman哈夫曼树-合并果子

    耍杂技的牛 具体:https://blog.csdn.net/qq_27262727/article/details/105515507 农民约翰的N头奶牛(编号为1..N)计划逃跑并加入马戏团,为此 ...

最新文章

  1. mongodb java项目 源码_spring项目整合mongodb进行开发
  2. 报文 wireshark_wireshark小知识:如何仅显示抓包的前100个包,并单独保存文件
  3. 如何才能知道一个导师的人品?
  4. Ubuntu安装nodeJS
  5. 服务器装什么系统可以模拟器多开,安卓模拟器多开哪个最好 流畅不卡、省资源、群控刷机都有...
  6. IDA Pro 搜索中文字符串
  7. java windows wrapper_Java Service Wrapper 发布windows后台程序的方法
  8. 东华理工专科计算机应用,计算机专业考研:东华理工大学计算机应用技术专业介绍...
  9. python安装anaconda ubuntu_Ubuntu 16.4 安装anaconda 详细教程
  10. python交互式数据可视化_基于Python实现交互式数据可视化的工具,你用过几种?...
  11. c++ 后台 sendstring_苹果狂杀微信后台,微信官方出必杀技!
  12. Shell:运算命令和操作符
  13. 买了一个鼠标一个交换机,京东分别快递了发票
  14. Java面向对象编程之三大特性
  15. 抖音抓包下载完整版视频
  16. Javascript笔记大全03
  17. 跳一跳python源码下载_微信跳一跳游戏python脚本
  18. 超声影像对2010 ACR/EULAR RA分类标准的影响: 结合两种不同的受累关节灰阶滑膜炎超声定义的分类标准...
  19. 不用电线使灯泡 特斯拉_特斯拉方式如何使其领先
  20. C++:Error C 1010:在查找预编译头时遇到意外的文件结尾。

热门文章

  1. NOJ 2015年陕西省程序设计竞赛网络预赛(正式赛)(小女警的异世界之战-前序中序求后序)
  2. 网上书店订单流程c语言源代码,网上书店的设计及实现.doc
  3. Unity 中实现截图画笔橡皮擦工具
  4. C++新特性——郭炜
  5. UCloud优刻得创始人季昕华:深耕云计算,做隐私计算赛道的“奇袭军”
  6. 职称申报评审管理系统_《四川省职称评审管理暂行办法》出台
  7. 1323:【例6.5】活动选择
  8. 【转载】抽象语法树简介(有图)
  9. 构建自动化运维平台:PAS工具和方法
  10. 【HDOJ】1493 QQpet exploratory park