输油管道问题

简介: 输油管道问题

某石油公司计划建造一条由东向西的主输油管道。该管道要穿过一个有n 口油井的油田。从每口油井都要有一条输油管道沿最短路经(或南或北)与主管道相连。如果给定n口油井的位置,即它们的x 坐标(东西向)和y 坐标(南北向),应如何确定主管道的最优位置,即使各油井到主管道之间的输油管道长度总和最小的位置? 证明可在线性时间内确定主管道的最优位置。


给定n口油井的位置, 计算各油井到主管道之间的输油管道最小长度总和。


输入格式:

输入的第1 行是油井数n,1<=n<=10000。接下来n 行是

油井的位置,每行2个用空格割开的整数 x和 y,-10000<=x,y<=10000。


输出格式:

输出油井到主管道之间的输油管道最小长度总和。


输入样例:

1. 5
2. 1 2
3. 2 2
4. 1 3
5. 3 -2
6. 3 3


输出样例:

6


思路:首先我们从题目可以分析得出横坐标任意位置都有管道,所以我们只需要分析纵坐标就行了

情况1:两个油井,在两个纵坐标中间位置最佳

情况2:三个油井的情况y1、y2、y3,即到三点的距离最近

情况n:n个y坐标的中位数

#include <iostream>
#include <algorithm>
using namespace std;
const int N = 10010;
int n;
int x, b[N], sum;
int main()
{
    cin >> n;
    for (int i = 0; i < n; i ++ )
        cin >> x >> b[i];
    sort(b, b + n);
    int mid = b[n / 2];
    for (int i = 0; i < n; i ++ )
        sum += abs(mid - b[i]);
    cout << sum;
    return 0;
}


目录
相关文章
|
JSON Java Serverless
nacos常见问题之cpu和内存占用高如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
2604 0
|
11月前
|
供应链 安全 API
常见的京东商品接口类型
京东商品接口是京东开放平台提供的一系列API,支持商品详情查询、商品搜索、评价查询、库存管理和订单处理等功能。开发者需注册获取API密钥,并按文档要求构造请求。这些接口助力开发者构建丰富的电商应用,提升用户体验。使用时需遵守平台规定,确保数据安全。
|
Java Scala Maven
Intellij IDEA+Maven+Scala第一个程序
Intellij IDEA+Maven+Scala第一个程序
215 0
|
缓存 Java 关系型数据库
【超全详解】Maven工程配置与常见问题解决指南
检查Maven配置包括验证路径、设置pom.xml与Project Structure的Java版本。基本操作有`clean-compile`、`install`和`package`,其中`install`会将jar包放入本地仓库。获取他人工程后需修改配置、清除缓存、更新依赖等。配置文件应从Maven Repository找寻,选择稳定高版本。创建Maven工程可选archetype如`quickstart`或直接创建Java工程。基本目录结构遵循分层设计原则,常见问题包括假性导包、端口占用、时区问题等,对应解决方案包括删除本地仓库文件、调整系统设置或重新加载项目。
2271 6
【超全详解】Maven工程配置与常见问题解决指南
|
Java 关系型数据库 MySQL
基于SpringBoot+Vue交流和分享平台的设计与实现(源码+部署说明+演示视频+源码介绍)(1)
基于SpringBoot+Vue交流和分享平台的设计与实现(源码+部署说明+演示视频+源码介绍)
395 1
|
存储 搜索推荐 关系型数据库
实时数仓 Hologres产品使用合集之如何在新增列的时候将历史数据也补上默认值
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
【完美解决】Github action报错remote: Write access to repository not granted.
【完美解决】Github action报错remote: Write access to repository not granted.
|
传感器 物联网 数据处理
MQTT 和 EMQX到底有啥区别?
MQTT 和 EMQX到底有啥区别?
3044 3
MQTT 和 EMQX到底有啥区别?
|
安全 应用服务中间件 Apache
面试题:HTTP长连接在什么时候会超时?
面试题:HTTP长连接在什么时候会超时?
317 0