【洛谷OJ】P1862—输油管道问题
题目背景
听说最近石油危机
所以想到了这题
题目描述
某石油公司计划建造一条由东向西的主要输油管道。该管道要穿过一个有n口油井的油田。从每口油井都要有一条输油管道沿最短路径(或南或北)与主管道相连。如果给定n口油井的位置,及它们的x坐标(东西向)和y坐标(南北向),应如何确定主管道的最优位置,即使各油井到主管道之间的输油管道长度总和最小的位置?证明可规定时间内确定主管道的最优位置。
输入格式
第一行是油井数n(1<=n<=10000)
接下来n行是油井的位置,每行2个整数x和y(-10000<=x,y<=10000)
输出格式
只有一行
是油井到主管道之间的输油管道最小长度总和
输入输出样例
输入
5
1 2
2 2
1 3
3 -2
3 3
输出
6
—————————————————————————————————————
这道题涉及一个数学概念——中位数
先用sort把y坐标排序,再取中位数,也就是取n/2+1。
在这道题中,x坐标没啥用(据伟大的数学理论:两点之间,线段最短)
因为……我相信这样绝对不是最短的吧↓
先来看看 度娘对 中位数的定义↓
中位数是按顺序排列的一组数据中居于中间位置的数,即在这组数据中,有一半的数据比他大,有一半的数据比他小
如果有一口油井,那么 可能也许应该 肯定是越近越好。如果有两口油井,肯定是设在两油井中间区域(包括两油井)比较好。
那n口油井不就是(1+)2+2+2+2+2+2+2……
中位数不就是那个中间区域的数吗(゚ー゚)?(灵魂大拷问)
多说无益,放程序:
#include<iostream>
#include<cstring>
#include<string>
#include<algorithm>
#include<sstream>
using namespace std;
int main(){int i,a[100001]={0},n,m,len=0;cin>>n;for(i=1;i<=n;i++) cin>>a[i](x)>>a[i](y);//x坐标无用,理由如上sort(a+1,a+n+1);//排序m=a[n/2+1];//中位数for(i=1;i<=n;i++) len=len+abs(a[i]-m);cout<<len;
}
相似题型:P1889 士兵站队(y坐标处理方式基本相同,x坐标有点麻烦)
【洛谷OJ】P1862—输油管道问题相关推荐
- #洛谷oj:P1525 [NOIP2010 提高组] 关押罪犯
洛谷oj:P1525 [NOIP2010 提高组] 关押罪犯 #题目描述 #一看很明显是贪心算法 加排序 因为 这个中间最大值的那一对肯定是不会在一起的 从大到小来看 所有点对都尽量不要在一个监狱 # ...
- 洛谷oj题单【入门2】分支结构-入门难度(Java)
洛谷oj题单[入门2]分支结构-入门难度(Java) 来源:https://www.luogu.com.cn/training/101#problems P5709 [深基2.习6]Apples Pr ...
- 洛谷OJ 入门与面试 B2001-B2148 题解
洛谷OJ 入门与面试 B2001-B2148 链接:https://pan.baidu.com/s/1cMRv6SBjL_sehYj7oM8gkw 提取码:tel3 B2001 入门测试题目 #inc ...
- 洛谷OJ上的A+B花(zhuang)式(bi)解法
转眼间快到了8月,一想自己都毕业好久了,很怀念曾经在各大OJ上刷题的时光,今天无意在一个算法群里看到最近有个叫洛谷的oj网站貌似蛮火的,于是注册了一个下进去看一看,顺手打开了A+B problem,然 ...
- 【洛谷OJ C++】洛谷题单100 入门1顺序结构 题解及学习笔记
洛谷平台题单100链接:https://www.luogu.com.cn/training/100#problems 目录 学习笔记: P1001 A+B Problem P1000 超级玛丽游戏 P ...
- 【洛谷OJ C++】洛谷题单101 入门2分支结构 题解及学习笔记
洛谷题单101链接:https://www.luogu.com.cn/training/101#problems 笔记及题解目录: 学习笔记: P5710 [深基3.例2]数的性质 P5711 [深基 ...
- 洛谷oj P2802 回家(BFS)
题目链接 简单说下题意,就是给一个迷宫.一开始有6滴血,走一步掉一滴.路上有补血包,问能不能在血量>=1的情况下到达终点. 这题其实就是HDU上面的1072.个人做题习惯搜索题最短路一般用BFS ...
- 洛谷OJ素数及其筛法刷题集
学会了线性筛.快速判断素数的读者可以在OJ上刷这些题了(后续将会完善补充) P3912 素数个数 P1835 素数密度 本题稍有难度,可以结合合数的性质来快速筛除区间内的合数,时间复杂度大致接近于区间 ...
- 洛谷OJ:P5960 【模板】差分约束算法
思路:差分约束模板题,注意使用SPFA来判断负环,也即无解的情况. #include<queue> #include<vector> #include<string> ...
最新文章
- 讯飞输入法皮肤制作_手机输入法哪家强:百度、搜狗、讯飞输入法对比评测
- android.xml设置全屏,Android全屏设置的方法总结
- 简单总结过去的2021年
- java emma_java-使用emmarun(找不到主要方法)
- Spring.NET学习笔记10——方法的注入(基础篇) Level 200
- android handle显示加载框
- nginx 去掉服务器版本和名称和nginx_status 状态说明
- 解决:Failed to execute goal on project aopcore: Could not resolve dependencies for project com.cmos:
- 信息学奥赛C++语言: 小明的步行
- 小动画制作 图片盒子配合定时器 winform 114869633
- Java调用百度API实现翻译
- 局域网网站服务器dns设置,简易搭建局域网内部dns服务器
- pdf编辑器哪个好 怎么添加pdf文件水印
- Linux(五、六)文本处理,文件内容显示和文件其他操作学习
- 微信新功能,最牛的不是“斗图”!
- thinkphp php5.1,ThinkPHP5.1完全开发手册
- 怎么用燃尽图高效搞定项目进度监控?看老原这一篇就够了!
- Python 自动化提取基因的 CDS
- SpringBoot程序排除@Configuration配置类
- 电容笔和触控笔有什么区别?好用不贵主动电容笔推荐