贪心(基础算法)--- 货仓选址

104. 货仓选址

image-20240304130039154

思路

(贪心)O(nlogn)

题目要求的是n个商店与货仓的距离之和s最小,那么我们可以先来看看当商店如何选择才能使得s最小? 假设区间[a,b]的距离是n

  • 把A[0]~A[N-1]排序,设货仓在X坐标处,X左侧的商店有P家,右侧的商店有Q家。

    image-20240304131424679

  • 若P < Q,则每把仓库的选址向右移动1单位距离,距离之和就会变少Q - P.同理,若P > Q,则仓库的选址向左移动会使距离之和变小。当P==Q时为最优解。

  • 因此仓库应该建在中位数处,先把A进行排序,我们数组从0开始,

    当N为奇数时,货仓建在A[N /2]处,

    当N为偶数时,仓库建在A[(N -1)/2]~A[N / 2]之间处都可。

得出结论:我们将货场建在A[N /2]即可

Java代码

import java.util.*;
​
public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int[] q = new int[n];for(int i = 0; i < n; i ++){q[i] = sc.nextInt();}Arrays.sort(q, 0, n);int mid = n / 2;int s = 0;for(int i = 0; i < n; i++ ) {s += i <= mid ? q[mid] - q[i] : q[i] - q[mid];}System.out.println(s);}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/509493.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32(14)USART

USART:一种片上外设&#xff0c;用来实现串口通信&#xff0c;就是stm32内部的串口 USART简介 串并转换电路 串行通信和并行通信 串行&#xff1a;一根数据线&#xff0c;逐个比特位发送 为什么要串并转换 移位寄存器 USART的基本模型 通过查询SR&#xff08;状态寄存器&…

Mint_21.3 drawing-area和goocanvas的FB笔记(三)

一、改变goocanvas线条自动画线时间间隔 通过系统SIGALRM信号触发&#xff0c;每秒画一条线对于慢温湿度等慢变信号可以应付&#xff0c;但对于快速信号1秒的间隔就太慢了。可以改变方式&#xff0c;通过另外的线程&#xff0c;完成要做的任务。 1. 线程的回调函数 myfunc 2…

Java架构之路-架构应全面了解的技术栈和工作域

有时候我在想这么简单简单的东西&#xff0c;怎么那么难以贯通。比如作为一个架构师可能涉及的不单单是技术架构&#xff0c;还包含了项目管理&#xff0c;一套完整的技术架构也就那么几个技术栈&#xff0c;只要花点心思&#xff0c;不断的往里面憨实&#xff0c;总会学的会&a…

太阳能风吸式杀虫灯是什么

TH-FD1随着农业科技的不断进步&#xff0c;太阳能风吸式杀虫灯作为一种新兴的绿色农业技术&#xff0c;正逐渐走进人们的视野。这种集太阳能和风吸技术于一体的杀虫设备&#xff0c;不仅具有环保节能的特点&#xff0c;还能有效减少农药使用&#xff0c;提高农产品质量&#xf…

KBP310-ASEMI小功率电源适配器KBP310

编辑&#xff1a;ll KBP310-ASEMI小功率电源适配器KBP310 型号&#xff1a;KBP310 品牌&#xff1a;ASEMI 封装&#xff1a;KBP-4 正向电流&#xff08;Id&#xff09;&#xff1a;3A 反向耐压&#xff08;VRRM&#xff09;&#xff1a;1000V 正向浪涌电流&#xff1a;6…

帮公司面试了个要25K的测试,我问了他这些问题...

深耕IT行业多年&#xff0c;我们发现&#xff0c;对于一个程序员而言&#xff0c;能去到一线互联网公司&#xff0c;会给我们以后的发展带来多大的影响。 很多人想说&#xff0c;这个我也知道&#xff0c;但是进大厂实在是太难了&#xff0c;简历投出去基本石沉大海&#xff0…

【扩散模型】生成模型中的Residual Self-Attention UNet 以及 DDPM的pytorch代码

参考&#xff1a; [1] https://github.com/xiaohu2015/nngen/blob/main/models/diffusion_models/ddpm_cifar10.ipynb [2] https://www.bilibili.com/video/BV1we4y1H7gG/?spm_id_from333.337.search-card.all.click&vd_source9e9b4b6471a6e98c3e756ce7f41eb134 TOC 1 UNe…

正信法律:借款纠纷的民事起诉状怎么写

在借款纠纷中&#xff0c;当协商无果时&#xff0c;诉诸法律成为债权人追回债务的有效途径。而民事起诉状作为启动诉讼程序的法律文书&#xff0c;其撰写质量直接关系到案件的受理与判决。本文旨在简明扼要地阐述如何撰写一份规范的借款纠纷民事起诉状。 起诉状需包含以下几个关…

Ruoyi框架上传文件

axios资料&#xff1a;axios中文文档|axios中文网 | axios axiosjson 默认情况下&#xff0c;axios将JavaScript对象序列化为JSON。 submit(data) {if (data && this.definitionId) {// 启动流程并将表单数据加入流程变量startProcess(this.definitionId, JSON.string…

Ubuntu安装MySQL、Redis、Ningx、jdk等常用环境

Ubuntu安装MySQL、Redis、Ningx、jdk等常用环境 背景&#xff1a;每次安装都要打开好几个文章&#xff0c;此处一篇文章足以 文章目录 Ubuntu安装MySQL、Redis、Ningx、jdk等常用环境一、Ubuntu安装 jdk8①&#xff1a;更新软件包列表②&#xff1a;安装OpenJDK 8③&#xff1a…

神经网络结构——CNN、RNN、LSTM、Transformer !!

文章目录 前言 一、什么是CNN 网络结构 解决问题 工作原理 实际应用 二、什么是RNN 网络结构 解决问题 工作原理 应用场景 三、什么是LSTM 网络结构 解决问题 工作原理 应用场景 四、什么是Transformer 网络结构 解决问题 工作原理 BERT GPT 前言 本文将从什么是CNN&#xff1…

0.考试介绍

上午题较简单&#xff1b; 下午题较难&#xff0c;大部分人不过是因为下午题没过&#xff1b; 考试面广&#xff0c;但不深&#xff1b; 1.1.2删除了原码、反码、补码相关知识&#xff1b; 5.3删除了OSI七层参考模型&#xff1b; 新增的内容&#xff0c;只是作为了解&#x…