题干:

时间限制:10000ms

单点时限:1000ms

内存限制:256MB

描述

在一张2D地图上有N座城市,坐标依次是(X1, Y1), (X2, Y2), ... (XN, YN)。

现在H国要修建一条平行于X轴的天然气主管道。这条管道非常长,可以认为是一条平行于X轴的直线。

小Ho想知道如何修建这条管道,可以使N座城市到管道的垂直距离之和最小。请你求出这个最小的距离之和。

输入

第一行包含一个整数N。

以下N行每行包含两个整数Xi, Yi。

1 <= N <= 100000

0 <= Xi, Yi <= 1000000

输出

一个整数,代表最小的距离之和。

样例输入

4
0 0
0 100
100 0
100 100

样例输出

200

解题报告:

直接暴力肯定会T的。

|x-a| + |x-b| +|x-c| + ...是个三节棍,不难证明,对于多个距离之和,是个n节棍(忽然想起来,,高中老师也讲过这个貌似)。

而且如果n是偶数的话,取中间两个点答案应该是一样的。

如果是可以有小数的话,大概就退火了吧?(然而这数据范围大概是不允许的)

AC代码:

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<queue>
#include<map>
#include<vector>
#include<set>
#include<string>
#include<cmath>
#include<cstring>
#define ll long long
#define pb push_back
#define pm make_pair
using namespace std;
const int MAX = 2e5 + 5;
const int INF = 0x3f3f3f3f;
int x[MAX],y[MAX];
int main()
{int n;int minn = INF,maxx = -INF;cin>>n;for(int i = 1; i<=n; i++) {scanf("%d%d",&x[i],&y[i]);}sort(y+1,y+n+1);ll ans1 = y[n/2],cal1=0;ll ans2 = y[n/2+1],cal2=0;for(int i = 1; i<=n; i++) {cal1 += abs(ans1 - y[i]);cal2 += abs(ans2 - y[i]);}printf("%lld\n",min(cal1,cal2));return 0 ;}

*【Hihocoder - offer编程练习赛94 - A】最短管道距离(中位数)相关推荐

  1. 【Hihocoder - offer编程练习赛39 - D】前缀后缀查询(后缀字典树,哈希,思维)

    题干: 时间限制:10000ms 单点时限:1000ms 内存限制:512MB 描述 给定一个包含N个单词的字典:{W1, W2, W3, ... WN},其中第i个单词Wi有具有一个权值Vi. 现在 ...

  2. 【Hihocoder - offer编程练习赛86 - C】跳数游戏(STLset或map预处理,dp)

    题干: 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定一个长度为N的数组A1, A2, ... AN,请你判断其中有几个元素Ai按如下跳跃规则能跳到最后一个元素AN ...

  3. 【Hihocoder - offer编程练习赛93 套题题解】交错01串(贪心,暴力)方格矩阵高度(模拟)数对(STLmultiset)修整土地(网络流)

    A: 题干: 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi要将一个01串S传输给小Ho,由于S非常长,所以小Hi决定用长度为N的2个数组A = [A1, A2, ...

  4. 【hihocoder - offer编程练习赛60 C】路径包含问题(LCA,树上倍增)

    题干: 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定一棵N的节点的树,节点编号1~N,并且1号节点是根节点. 小Hi会反复询问小Ho一个问题:给定两个节点a和b, ...

  5. 【hihocoder - offer编程练习赛60 B】最大顺子(双指针,思维)

    题干: 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 你有N张卡片,每张卡片上写着一个正整数Ai,并且N张卡片上的整数各不相同. 此外,你还有M张百搭卡片,可以当作写着 ...

  6. 【hihocoder - offer编程练习赛60 A】hohahola(贪心,二分)

    题干: 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 有一种叫作hohahola的饮料,售价是X元一瓶.小Hi非常喜欢这种饮料,但是他现在身无分文. 不过小Hi有N张优 ...

  7. hihocoder 1931 最短管道距离

    描述 在一张2D地图上有N座城市,坐标依次是(X1, Y1), (X2, Y2), ... (XN, YN). 现在H国要修建一条平行于X轴的天然气主管道.这条管道非常长,可以认为是一条平行于X轴的直 ...

  8. 最简真分数c语言,HihoCoder1655 : 第K小最简真分数([Offer收割]编程练习赛39)(唯一分解+容斥定理+二分)(不错的数学题)...

    描述 给一个整数N,请你求出以N为分母的最简(既约)真分数中第K小的是多少? 输入 两个整数N个K. 对于30%的数据,1 <= N <= 1000000 对于100%的数据,1 < ...

  9. 牛客网剑指offer编程实践1-10题

    牛客网剑指offer编程实践1-10题 1.二维数组中的查找 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这 ...

最新文章

  1. poj-1159 Palindrome **
  2. JavaScript对象继续总结
  3. linux数据被删了怎么办
  4. GraphicsStatsService之1-dump数据的实现
  5. pandas to_dict 的用法
  6. Eclipse代码自动补全的颜色修改
  7. 《架构之美》学习随笔:好的架构
  8. Docker从入门到实战(四)
  9. 阿里HBase的GC优化实践,能够降低java垃圾回收时间!
  10. Python 实训3 简单的好友通讯录管理程序
  11. 计算机人工智能领域英文文献,人工智能英文文献译文.doc
  12. spring事务和加可重入锁解决库存超卖遇到的问题
  13. mysql binlog 回滚_Mysql误操作后利用binlog2sql快速回滚的方法详解
  14. 001.Python安装及Pycharm安装破解
  15. 【机器学习】决策树实验报告
  16. 学校计算机的使用英语作文180字,关于我的寒假英语作文180字3篇
  17. 使用ftp服务上传文件时553报错的解决
  18. 【ChatGPT】实用 Prompt 指令大全 —— 一文教你如何更好地挖掘 GPT 的价值
  19. 学习前端的第三十二天——ES6
  20. 图片的合成(个人练习,不喜勿喷!)

热门文章

  1. 学习 SQL 语句 - Select(4): 排序
  2. [密码学基础][每个信息安全博士生应该知道的52件事][Bristol52]41所有的侧信道分析都是能量分析吗
  3. [Bugku][Crypto][CTF][2020]Crypto 1-20 write up
  4. [剑指offer]面试题第[44]题[JAVA][数字序列中某一位的数字][找规律]
  5. 休眠后gpio状态_1.Linux电源管理-休眠与唤醒
  6. python关机linux_Python学习第157课——Linux切换用户、关机、查看正在运行的程序...
  7. linux虚拟服务器新增磁盘怎么挂载,如何在vmware虚拟机Linux中增加硬盘的方法(教程)...
  8. 服务器宕机自动dns,有哪些同时支持智能解析和宕机自动切换的DNS服务?
  9. snmp获取交换机日志_日志审计系统和数据库审计系统的区别
  10. Matlab绘图--包含各种标示符的输入方法