PTA 7-3 输油管道问题 (50)分

  • 题目描述
  • 输入格式
  • 输出格式
  • 样例输入
  • 样例输出
  • 思路
  • 代码

题目描述

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

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

输入格式

输入的第1 行是油井数n,1<=n<=10000。接下来n 行是 油井的位置,每行2个用空格割开的整数 x和 y,-10000<=x,y<=10000。

输出格式

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

样例输入

5
1 2
2 2
1 3
3 -2
3 3

样例输出

6

思路

由题目可以知道,最后结果与横坐标无关,只与纵坐标的中位数有关,所以我们先对纵坐标进行排序,然后取中间值计算即可。

代码

#include <iostream>using namespace std;const int N = 1e5 + 2;int x[N], y[N];
int t[N];void merge_sort(int y[], int l, int r) {if (l >= r)return;int mid = (l + r) >> 1;merge_sort(y, l, mid);merge_sort(y, mid + 1, r);int i = l, j = mid + 1, k = 0;while (i <= mid && j <= r) {if (y[i] < y[j])t[k++] = y[i++];elset[k++] = y[j++];}while (i <= mid)t[k++] = y[i++];while (j <= r)t[k++] = y[j++];for (int i = l, j = 0; i <= r; i++, j++)y[i] = t[j];
}int main(int argc, const char** argv) {int n;cin >> n;for (int i = 0; i < n; i ++)scanf("%d%d", &x[i], &y[i]);merge_sort(y, 0, n - 1);int medium = y[n / 2];int res = 0;for (int i = 0; i < n; i ++) {res += abs(y[i] - medium);}cout << res << endl;return 0;
}

PTA 7-3 输油管道问题 (50 分)相关推荐

  1. 7-3 输油管道问题 (50 分)——PTA

    7-3 输油管道问题 (50 分) 某石油公司计划建造一条由东向西的主输油管道.该管道要穿过一个有n 口油井的油田.从每口油井都要有一条输油管道沿最短路经(或南或北)与主管道相连.如果给定n口油井的位 ...

  2. PTA: 6-8 剩余不足 (10分)(c语言)

    PTA: 6-8 剩余不足 (10分)(c语言) 若每人发 a 颗,则多 b 颗: 若每人发 c 颗,则差 d 颗. 请问:p.q 各为多少? 函数原型 // 剩余不足问题 int SurplusSh ...

  3. 女博士生爱上中专男,父亲直言自己只能打50分,你怎么看恋人学历差距大?...

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文募格学术撰写.参考来源:头条新闻.硕士博士俱乐部.微博.知乎等. ...

  4. 2018/3/1 省选模拟考试 50分

    T1 30分模拟暴力,40分树的直径.拿了0分.(空间开小了爆了,因为缩点之后是又建了一次图,两个边的编号tot没分开,mdzz) 只写了后40分,而这40分中有20分不需要边双连通分量.写了一个类似 ...

  5. 爱情二十四课,妥协50分

    我们常常以为爱情是加法,所以无比期盼它.却意想不到,它的真相是减法--你只有通过放弃才能获得. 你越减少自己,你越爱别人. 我们常常跟别人比幸福,总觉得别人的爱情更顺利,婚姻更美满,家庭更和谐.其实这 ...

  6. 7-5 图形继承与多态 (50 分)

    ** 7-5 图形继承与多态 (50 分) ** 掌握类的继承.多态性及其使用方法.具体需求参见作业指导书. 2021-OO第06次作业-5指导书V1.0.pdf 解题报告 1.深入理解继承与多态的原 ...

  7. 7-1 水文数据校验及处理 (50 分)

    ** 7-1 水文数据校验及处理 (50 分) ** 使用Java中的字符串处理类以及正则表达式对输入字符串数据进行合法性校验及计算.(具体需求参见附件 2021-OO第04次作业-1指导书V1.0. ...

  8. 高考英语50分学计算机,高三英语50分到100分学习窍门

    150分只考40~50分,想补到90~100分,到年底够不够?如果只攻语法能考到多少分?高三英语50分到100分的方法就是背单词,读课文,练语感,看语法...关键用心.可以先制定一个简单的计划,不要太 ...

  9. 软考高级证书可以积分50分

    软考高级证书可以积分50分 来自湖北省武汉市2016年积分落户管理办法,软考的高级证书如:信息系统项目管理师.系统分析师.系统架构设计师,可以加分50分.

最新文章

  1. python3.7如何安装库_Python3.7版库的安装以及常用方法(十分简单)
  2. Java_io体系之BufferedWriter、BufferedReader简介、走进源码及示例——16
  3. 用rollback()VS不用rollback()
  4. String类型的算法题(获取子串在主串中出现的次数)和(获取两个字符串中最大相同子串)-Java代码实现
  5. Django + react + 阿里云ecs 前后端分离部署上线
  6. Docker应用五:使用Dockerfile部署MongoDB
  7. Spring AOP核心原理分析
  8. 不可不知的 Android strings.xml 那些事
  9. EChart:EChart与NProgress结合异步加载数据
  10. linux编译安装mysql的意思,linux编译模式安装mysql 步骤说明
  11. kill、killall 、pkill 发送信号命令
  12. Modelsim 10.2c 百度网盘下载
  13. 让xp3 iis5.1支持40个连接数
  14. Opencv摄像头相关参数
  15. 经典有源滤波电路(赛伦-凯滤波器)
  16. ftp服务器设置登录账号密码是什么意思,局域网ftp服务器登录密码是什么
  17. ”记录集为只读“怎么解决?请高手帮忙看看。感激不尽……
  18. ghost linux 黑屏,Ghost 与 Linux 的兼容性
  19. 苹果IOS9为加强个人隐私信息保护强制HTTPS,APP开发者需申请SSL证书
  20. 【语义分割系列:八】Segmentation 数据集 介绍下载论文

热门文章

  1. 东北大学计算机保研每年多少清华,东北大学2020届保研率13%,主要保研本校、天大、国科大、华东、东南大学...
  2. 用SQL生成一份中国行政表
  3. 商城购买会员打折满减优惠券商品
  4. beego保存数据库时间相差八小时 8小时问题解决
  5. 【云原生生态圈】:Docker核心技术全面总结
  6. 数字藏品火爆背后:平台密集涌现 专家提醒风险
  7. Android知识点及资料汇总(不断更新中)
  8. 克鲁斯卡尔kruskal算法(Java)
  9. 空间复杂度(超详解+例题)
  10. 【Blender】学习一下