货仓选址问题

算法:货舱选址、数字三角形、蛇形矩阵 货仓选址 在一条数轴上有 N 家商店,它们的坐标分别为 A1∼AN。 现在需要在数轴上建立一家货仓,每天清晨,从货仓到每家商店都要运送一车商品。 为了提高效率,求把货仓建在何处,可以使得货仓到每家商店的距离之和最小。 输入格式 第一行输入整数 N。 第二行 N 个整数 A1∼AN。 输出格式 输出一个整数,表示距离之和的最小值。 数据范围 1≤N≤100000, 0≤Ai≤40000 输入样例: 4 6 2 9 1 输出样例: 12 解题思路:将输入的商店坐标进行从小到大排序,选择中间数作为仓库地址 阅读详情

题目

原题链接:选址问题
在一条数轴上有 N 家商店,它们的坐标分别为 A1~AN。

现在需要在数轴上建立一家货仓,每天清晨,从货仓到每家商店都要运送一车商品。

为了提高效率,求把货仓建在何处,可以使得货仓到每家商店的距离之和最小。

输入格式

第一行输入整数N。

第二行N个整数A1~AN。

输出格式

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

数据范围

1≤N≤100000,
0≤Ai≤40000
输入样例

4
6 2 9 1

输出样例

12

笔记

这道题是利用了数学中的绝对值不等式的思想,在一维中任取一点到两个点的距离之和最短的条件是,这个点位于两点之间的区间上

做法:

1.先将各个点按照位置进行排序
2.找到位置是中位数的点,并记录(偶数是两个点,选择哪个都可以)
3.计算各个点到这个点的距离之和,即我们所求的最短距离之和。

拓展:

1.一维扩展到二维:3167. 星星还是树
2.扩展到d维:需要用模拟退火算法(难度高)。

代码:

#include<iostream>
#include<algorithm>
using namespace std;
const int N =1e6+10;
int a[N];

int main(){
    int n,sum=0;
    scanf("%d",&n);
    for(int i=0;i<n;i++)
        scanf("%d",a+i);

    sort(a,a+n);//将各个点按照位置进行排序

    for(int i=0;i<n;i++)sum+=abs(a[i]-a[n>>1]);
    //计算各个点到这个点的距离之和
    
    printf("%d",sum);

    return 0;
}
数据结构之货仓选址问题(DFS) 阅读详情

相关推荐

华为OD 技术综合面,手撕代码真题整理(116):货仓选址问题 | 最长回文子序列

特别提醒,订阅专栏前一定要看好题解语言哦~

梦想橡皮擦,专栏100例写作模式先行者,现象级专栏 《Python 爬虫 100 例》作者、《滚雪球学 Python 专栏》原创者 346

货仓选址(贪心)

题目描述 在一条数轴上有 N 家商店,它们的坐标分别为 A1~AN。 现在需要在数轴上建立一家货仓,每天清晨,从货仓到每家商店都要运送一车商品。 为了提高效率,求把货仓建在何处,可以使得货仓到每家商店的距离之和最小。 输入格式 第一行输入整数N。 第二行N个整数A1~AN。 输出格式 输出一个整数,表示距离之和的最小值。 数据范围 1≤N≤100000 输入样例: 4 6 2 9 1 输出样例: 12 #include<bits/stdc++.h> using namespace std; c

weixin_44106287的博客 1564

NY8A053E 例程 之 PWM Ouput

更多关于NY8A053E的相关例程请留言!

倪彬笑阳的博客 2925

学习日志

【刷题记录】 此系列文章仅用于个人学习,如有错误,望大家谅解给予指正。 第37次刷题 一、牛客网刷题 1.题目描述:KiKi非常喜欢网购,在一家店铺他看中了一件衣服,他了解到,如果今天是==“双11”(11月11日)则这件衣服打7折,“双12” (12月12日)则这件衣服打8折,如果有优惠券可以额外减50元(优惠券只能在双11或双12使用)==,求KiKi最终所花的钱数。 输入描述:一行,四个数字,第一个数表示小明看中的衣服价格,第二和第三个整数分别表示当天的月份、当天的日期、第四个整数表示是否有优惠券(有

zoraling的博客 385

OpenClaw智能体应用第一集--飞书多智能体配置

本文介绍了智能体(Agent)的核心概念与配置实践。Agent作为独立作用域的"大脑",包含模型(认知引擎)、记忆系统(短期/长期记忆)、人设(角色定义)、工具(外部能力调用)、规划执行(任务拆解)、运行环境等核心要素。每个Agent拥有唯一agentId标识,通过accountId区分渠道账号,Binding机制实现消息路由。实践部分展示了通过命令行配置多个智能体(如writer)的过程,包括插件注册和工具加载。系统支持多Agent架构,可根据不同场景需求灵活配置专属智能体。

weixin_44626085的博客 1749

dify案例-基于Dify打造智能合同审查助手:零代码搭建工作流全指南

Dify的工作流(Workflow)功能是一个可视化流程编排工具,允许用户通过拖拽节点的方式构建复杂的AI应用。与简单的问答应用不同,工作流支持多步骤任务处理、条件分支、并行执行等高级功能,非常适合合同审查这类结构化任务。可视化编排:无需编写代码,通过拖拽连接节点即可构建复杂流程多模型协作:可在不同节点使用最适合的AI模型灵活集成:支持知识库检索、条件判断、API调用等多种节点类型迭代优化:可随时测试和调整单个节点,不影响整体流程可视化搭建:无需编码经验,拖拽式构建复杂审查流程灵活扩展。

weixin_44245188的博客 1939

第四周作业

题目7-1 计算分段函数[1] ·代码 #include <stdio.h> int main() { float a,b; scanf("%f",&a); if(a!=0) { b=1/a; printf("f(%.1f) = %.1f",a,b); } else printf("f(0.0) = 0....

weixin_30895603的博客 192

YOLOv26详解 | 一文带你从代码角度深入理解ultralytics最新作品yolov26的创新 | 训练、推理、验证、导出 (附网络结构图PPT可用,全网最全)

YOLOv26带来多项创新:1)采用双检测头机制(One-to-Many和One-to-One)实现端到端无NMS推理;2)移除DFL简化边界框回归;3)引入ProgLoss+STAL优化小目标检测;4)使用MuSGD优化器提升训练稳定性。网络结构方面,SPPF模块增加shortcut连接,并在C3k2中引入PSABlock注意力机制。该版本更注重实际部署,简化了推理流程,提升硬件兼容性。教程涵盖模型训练、验证、推理及导出全流程,支持多种格式转换如ONNX、TensorRT等,适合工业应用场景。

Snu77的博客 4082

货仓选址(c++题解)

在一条数轴上有N家商店,它们的坐标分别为 A[1]~A[N]。现在需要在数轴上建立一家货仓,每天清晨,从货仓到每家商店都要运送一车商品。为了提高效率,求把货仓建在何处,可以使得货仓到每家商店的距离之和最小。也是简单到爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆爆表的题。对于100%的数据: N

hb_zhyu的博客 795

Python爬虫实战:抓取全球船舶AIS定位数据的全流程指南

AIS(Automatic Identification System)自动识别系统是目前全球航运中用于实时跟踪船只位置的主要技术。名称、MMSI编号、呼号实时经纬度船速、航向吃水、目的港状态(航行/停泊/锚泊)航线信息等🛰️海上运输监控:追踪航线,预估到港时间;🛳️船舶管理系统:为物流、港口运营提供决策依据;🌊研究分析:如海洋运输碳排放研究、船只拥堵热力图等;🧠人工智能训练数据集:用于轨迹预测、碰撞预警模型。

2201_76125261的博客 1367

解锁RK3588:内核模块签名与安全启动配置全攻略

RK3588作为一款高性能嵌入式SoC芯片,其内核模块签名与安全启动配置是保障系统安全的核心机制。本文详细介绍了RK3588的芯片特性,重点阐述了安全启动的硬件信任链原理和内核模块签名的实现方法。通过具体步骤演示了从密钥生成、模块签名到验证加载的完整流程,并深入解析了安全启动配置的硬件连接、软件工具准备、密钥烧录等关键环节。此外,还提出了防御旁路攻击和动态信任链扩展等高级安全策略,为RK3588在工业控制、智能安防等高安全要求场景中的应用提供了全面的安全解决方案。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 349

货仓选址问题——Python

题目描述 在一条数轴上有 N 家商店,它们的坐标分别为 A1~AN。 现在需要在数轴上建立一家货仓,每天清晨,从货仓到每家商店都要运送一车商品。 为了提高效率,求把货仓建在何处,可以使得货仓到每家商店的距离之和最小。 输入格式 第一行输入整数N。 第二行N个整数A1~AN。 输出格式 输出一个整数,表示距离之和的最小值。 数据范围 1≤N≤100000, 0≤Ai≤40000 输入样例 4 6 2 9 1 输出样例 12 题目分析 这是一道非常基础的算法题,要求一个货仓到

zyd_994264926326的博客 2170

OpenCloudOS9操作系统搭建Confluence8.2.1+Jira企业级WIKI

Atlassian Confluence是一个专业的企业知识管理与协同软件,可用于构建企业wiki

背锅神童的博客 1023

E1-货仓选址问题(求中位数)

假设在一条数轴上有多个商店,需要在数轴上建立一个货仓,使得货仓到每家商店的距离之和最小。输入一个数组,数组元素是各个商店的位置。若有多个,则从小到大输出。请输出货仓的选值位置。

qq_62853360的博客 282

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

poj1723 SOLDIERS(思维题-中位数/货仓选址问题)

题目 n(n<=1e4)个士兵,第i个士兵的位置(xi,yi),-1e4<=xi,yi<=1e4 把士兵安排到同一条水平线上,使之在竖直方向n个士兵相邻 最后排成(x,y),(x+1,y),...(x+n-1,y)的样子,移动的代价是曼哈顿距离 最小化移动代价和,输出这个和 思路来源 https://blog.youkuaiyun.com/flora715/article/det...

小衣同学的博客 715

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

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

贪心算法之货仓选址问题

【代码】贪心算法之货仓选址问题。

m0_59917959的博客 560

AcWing算法基础课 第六讲 贪心 绝对值不等值 货仓选址问题 一维

AcWing算法基础课 第六讲 贪心 绝对值不等值 货仓选址问题 一维

闪火27的博客 251

糖果传递(数学公式推导+货仓选址问题)

题目 有 n 个小朋友坐成一圈,每人有 a[i] 个糖果。 每人只能给左右两人传递糖果。 每人每次传递一个糖果代价为 1。 求使所有人获得均等糖果的最小代价。 输入格式 第一行输入一个正整数 n,表示小朋友的个数。 接下来 n 行,每行一个整数 a[i],表示第 i 个小朋友初始得到的糖果的颗数。 输出格式 输出一个整数,表示最小代价。 数据范围 1≤n≤1000000, 0≤a[i]≤2×1e9, 数据保证一定有解。 输入样例: 4 1 2 5 4 输出样例: 4 思路: 总所周知代码

qq_45736714的博客 283

货仓选址问题及其扩展

如果扩展到多维,需要用到模拟退火算法(较难)原题如上,即一维数轴。

xiao____________的博客 272

中位数--《算法竞赛进阶指南》(货仓选址和七夕祭问题详解)

中位数 今天又和大家见面了啦~ 依旧是 《算法竞赛进阶指南》的学习哦~ 中位数(Median)又称中值,统计学中的专有名词,是按顺序排列的一组数据中居于中间位置的数,代表一个样本、种群或概率分布中的一个数值,其可将数值集合划分为相等的上下两部分。对于有限的数集,可以通过把所有观察值高低排序后找出正中间的一个作为中位数。如果观察值有偶数个,通常取最中间的两个数值的平均数作为中位数。 (嘿嘿嘿这是从百度找到的中位数的概念复习复习) 下面通过例子瞅瞅叭~ 题目:货仓选址 在一条数轴

weixin_54248223的博客 447

货仓选址 —— 《算法竞赛进阶指南》

货仓选址 在一条数轴上有 N 家商店,它们的坐标分别为 A1∼AN。 现在需要在数轴上建立一家货仓,每天清晨,从货仓到每家商店都要运送一车商品。 为了提高效率,求把货仓建在何处,可以使得货仓到每家商店的距离之和最小。 输入格式 第一行输入整数 N。 第二行 N 个整数 A1∼AN。 输出格式 输出一个整数,表示距离之和的最小值。 数据范围 1≤N≤100000, 0≤Ai≤40000 输入样例: 4 6 2 9 1 输出样例: 12 时间复杂度:O(nlog2n) 算法: 贪心、绝对值不等式 思路分析:

Bananaaay的博客 732

货仓选址(高中数学问题)

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

dont worry about it的博客 2万+
上一篇: 什么是编译程序(含翻译程序、解释程序和中间代码的定义介绍)
下一篇: 二分问题模板
Andy in boots
博客等级 码龄7年 73粉丝 69原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值