当前位置: 首页 > news >正文

备战蓝桥杯:贪心算法之货仓选址

当我们货仓选址在最中间的时候,货仓到每家商店的距离最短

#include <iostream>
#include <cstdlib>
#include <algorithm>
typedef long long LL;
using namespace std;
int n;
const int N = 1e5+10;
LL a[N];
int main()
{
	cin >> n;
	for(int i = 1;i<=n;i++) cin >> a[i];
	sort(a+1,a+1+n);
	LL ret= 0;
	for(int i = 1;i<=n;i++) ret+=abs(a[i]-a[n/2]);
	cout << ret << endl;
	
	
	
	return 0;
}

贪心策略证明:

我们首先需要直到一个绝对值不等式的公式

|a-x|+|b-x| >= |a-b|

我们的代码也可以直接用这个公式来算

#include <iostream>
#include <cstdlib>
#include <algorithm>
typedef long long LL;
using namespace std;
int n;
const int N = 1e5+10;
LL a[N];
int main()
{
	cin >> n;
	for(int i = 1;i<=n;i++) cin >> a[i];
	sort(a+1,a+1+n);
	LL ret= 0;
	for(int i = 1;i<=n/2;i++) ret+=abs(a[n-i+1]-a[i]);
	cout << ret << endl;
	
	
	
	return 0;
}

相关文章:

  • 存储引擎---数据库
  • spring的核心配置
  • 什么是DNS?DNS解析的过程是怎样的?
  • Zookeeper分布式锁实现
  • rust学习笔记1-window安装开发环境
  • 上线了一个微软工具(免费),我独自开发,本篇有源码
  • python类方法名加前缀下划线
  • vue3的响应式的理解,与普通对象的区别(一)
  • 非docker安装open-webui连接ollama实现deepseek本地使用,集成其他openai模型,常见启动报错问题解决。
  • SpringAI-开启 Java AI 新纪元
  • Twitter 安卓客户端安装包下载
  • Linux——库函数
  • DeepSeek渣机部署编程用的模型,边缘设备部署模型
  • 【云安全】云原生- K8S etcd 未授权访问
  • Day1:强化学习基本概念
  • 2025最新Java面试题大全(整理版)2000+ 面试题附答案详解
  • 【linux】ubunbu切换到root
  • (四)Axure学习图文教程
  • Mybatis-扩展功能
  • 学习资料整合记录
  • 美财长称关税战升级的责任在中方,外交部:关税战、贸易战没有赢家
  • 上海通报5起违反中央八项规定精神问题
  • 脱发后怎么把头发养回来?脱发自救指南来了
  • 在县中,我看到“走出去”的渴望与“留下来”的惯性
  • 《深化养老服务改革发展的大湾区探索》新书将于今年6月出版
  • 证监会发布上市公司信披豁免规定:明确两类豁免范围、规定三种豁免方式