输油管道问题

简介: 输油管道问题

某石油公司计划建造一条由东向西的主输油管道。该管道要穿过一个有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;
}


目录
相关文章
使用vos3000时sip O 口网关注册成对接网关作为 ivr 接入,主叫号码如何设置
在VOS3000系统中,将SIP终端作为IVR接入点涉及配置SIP网关指向IVR应用,注册SIP设备并设定含用户名和域名的SIP账户。主叫号码设置可在注册时通过 Caller-ID 头部或拨号计划完成。拨号规则用于控制主叫号码传递,例如根据来源自动调整。配置后需测试主叫号码及IVR接入。不同版本可能有差异,欢迎交流学习。
|
JavaScript
Vue项目中使用wangEditor富文本输入框(推荐)
Vue项目中使用wangEditor富文本输入框(推荐)
|
JSON 小程序 前端开发
微信小程序框架(五)-全面详解(学习总结---从入门到深化)
微信小程序框架(五)-全面详解(学习总结---从入门到深化)
879 0
|
4月前
|
人工智能 运维 安全
阿里云发布Qwen Cloud,加速AI出海!
阿里云在新加坡发布面向海外的AI战略升级:推出全新AI官网Qwen Cloud、Agent产品MuleRun、智能体编程平台Qoder及桌面智能体QoderWork,并完成云基础设施Agentic化改造,全面支持Agent原生开发与部署。
459 0
|
6月前
|
弹性计算 中间件 定位技术
稳赢大促!货拉拉携手阿里云第九代Intel实例实现业务新跨越
升级后,货拉拉成功稳定支撑了“第九届金秋拉货节”等大促场景,单日完单量创历史新高。
稳赢大促!货拉拉携手阿里云第九代Intel实例实现业务新跨越
|
7月前
|
前端开发 Java 调度
别再只会用 drawCircle 了! 一文搞懂 Android Canvas 底层机制
本文深入剖析Android Canvas底层机制:从宏观渲染架构、中观双轨渲染(软/硬加速差异),到微观几何绘制与状态栈原理,结合源码与流程图,揭示Canvas实为“指令发射器”而非画布,并提供仪表盘等高阶实战技巧。(239字)
410 0
别再只会用 drawCircle 了!  一文搞懂 Android Canvas 底层机制
|
6月前
|
机器学习/深度学习 人工智能 Java
实测对比:企业落地的主流 AI 开发框架测评
本文以中立、客观、可落地为原则,实测对比JBoltAI、LangChain、Spring AI等主流AI框架,聚焦Java企业适配性、国产模型支持、工程化能力及存量系统改造难度,提供清晰选型建议。(239字)
385 0
|
分布式计算 资源调度 大数据
【决战大数据之巅】:Spark Standalone VS YARN —— 揭秘两大部署模式的恩怨情仇与终极对决!
【8月更文挑战第7天】随着大数据需求的增长,Apache Spark 成为关键框架。本文对比了常见的 Spark Standalone 与 YARN 部署模式。Standalone 作为自带的轻量级集群管理服务,易于设置,适用于小规模或独立部署;而 YARN 作为 Hadoop 的资源管理系统,支持资源的统一管理和调度,更适合大规模生产环境及多框架集成。我们将通过示例代码展示如何在这两种模式下运行 Spark 应用程序。
1036 3
|
人工智能 供应链 搜索推荐
快手电商 API 开启快手小店电商生态融合新探索
快手电商API正式上线,标志着快手小店迈入生态融合新阶段。通过标准化接口,实现商品、订单、数据等自动化管理,提升效率70%以上。对接供应链、支付、物流系统,打造全场景购物体验。助力中小商家降本增效,推动行业开放与升级,开启电商数字化革命。
|
传感器 人工智能 供应链
一场关于物料清单BOM的深度对话
这段对话发生在某科技公司茶水间,新入职的采购专员张薇向供应链总监陈峰请教BOM表的作用。陈峰以乐高说明书为喻,解释BOM是产品的物料清单,涵盖零件型号、用量与供应商信息。他通过实例说明BOM错误可能引发采购、生产和售后等环节的连锁问题,如材料浪费、返工增加及客户索赔。最后,陈峰提出通过源头管控、动态监测和反向追溯优化BOM管理,并强调其准确率对提升企业毛利率的重要性,展现了BOM在现代制造业中“悄然重写利润法则”的核心地位。
583 12