BZOJ 3170: [Tjoi 2013]松鼠聚会 切比雪夫距离

3170: [Tjoi 2013]松鼠聚会

Time Limit: 1 Sec  

Memory Limit: 256 MB

题目连接

http://www.lydsy.com/JudgeOnline/problem.php?id=3170

Description

有N个小松鼠,它们的家用一个点x,y表示,两个点的距离定义为:点(x,y)和它周围的8个点即上下左右四个点和对角的四个点,距离为1。现在N个松鼠要走到一个松鼠家去,求走过的最短距离。

Input

第一行给出数字N,表示有多少只小松鼠。0<=N<=10^5
下面N行,每行给出x,y表示其家的坐标。
-10^9<=x,y<=10^9

Output

表示为了聚会走的路程和最小为多少.

Sample Input

6
-4 -1
-1 -2
2 -4
0 2
0 3
5 -2

Sample Output

20

HINT

题意

 

题解:

题目给的切比雪夫距离,转化成曼哈顿距离就好了

然后利用前缀和统计一下就行了

代码:

//qscqesze
#include <cstdio>
#include <cmath>
#include <cstring>
#include <ctime>
#include <iostream>
#include <algorithm>
#include <set>
#include <bitset>
#include <vector>
#include <sstream>
#include <queue>
#include <typeinfo>
#include <fstream>
#include <map>
#include <stack>
typedef long long ll;
using namespace std;
//freopen("D.in","r",stdin);
//freopen("D.out","w",stdout);
#define sspeed ios_base::sync_with_stdio(0);cin.tie(0)
#define maxn 100010
#define eps 1e-9
int Num;
//const int inf=0x7fffffff;   //§&szlig;§é§à§é¨f§3
const int inf=0x3f3f3f3f;
inline ll read()
{ll x=0,f=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}return x*f;
}
//**************************************************************************************struct node
{double x,y;int id;
}p[maxn];
double ans[maxn];
bool cmp1(node a,node b)
{return a.x<b.x;
}
bool cmp2(node a,node b)
{return a.y<b.y;
}int main()
{int n=read();double sumx=0,sumy=0;for(int i=0;i<n;i++){double x,y;scanf("%lf%lf",&x,&y);p[i].x = (x+y)/2;p[i].y = (x-y)/2;sumx += p[i].x;sumy += p[i].y;p[i].id = i;}sort(p,p+n,cmp1);double tmp=0;for(int i=0;i<n;i++){ans[p[i].id]+=(i)*p[i].x - tmp;ans[p[i].id]+=(sumx-tmp)-(n-i)*p[i].x;tmp+=p[i].x;}sort(p,p+n,cmp2);tmp=0;for(int i=0;i<n;i++){ans[p[i].id]+=(i)*p[i].y - tmp;ans[p[i].id]+=(sumy-tmp)-(n-i)*p[i].y;tmp+=p[i].y;}double Ans = ans[0];for(int i=0;i<n;i++)Ans = min(Ans,ans[i]);printf("%.0lf\n",Ans);
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/262856.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

序列化流

一、对象的序列化和反系列化 二、对象的序列化流ObjectOutputStream 标记型接口&#xff1a; 使用序列化流ObjectOutputStream将对象写入到文件中进行序列化&#xff1a; 执行过后的文件&#xff1a; 二进制字节存储&#xff0c;无法直接查看&#xff1b; 三、对象的反序列化流…

Asp.Net中虚拟文件系统的使用

具体实现步骤如下&#xff1a;一、开发web用户控件这一步和以前的开发没有区别。1、首先新建一个web应用程序(需要VS2005 sp1支持)2、然后在里面开发几个web用户控件3、在ascx文件上右键-〉属性-〉生成操作选择嵌入的资源4、生成dll就可以了(dll的名字为&#xff1a;Test.Contr…

打印流

一、打印流输出数据到文件 全路径&#xff0c;没有操作系统没有E盘&#xff0c;异常&#xff1b; 二、打印流修改打印输出路径 会生成一个记录的文件&#xff1a; 可用来记录一些操作日志&#xff1b; 转载于:https://www.cnblogs.com/wmqiang/p/11374696.html

throw()使用小结

为什么要加一个throw()到你的函数中&#xff1f;这是异常规范&#xff0c;只会出现在声明函数中&#xff0c;表示这个函数可能抛出任何类型的异常void GetTag() throw(int);表示只抛出int类型异常void GetTag() throw(int&#xff0c;char);表示抛出in&#xff0c;char类型异常…

乘法表

&#xfeff;&#xfeff;叙述性说明 法表或许将会扎根于我们一生的记忆,如今让我们重温那些温暖的记忆,请编程输出九九乘法表. 如今要求你输出它的格式与寻常的 不同啊! 是那种反过来的三角形啦&#xff0c;详细例如以下图&#xff1a; 每两个式子之前用一个空格 隔开。。。 输…

DropDownList实现无限级分类

要想实现无限级分类&#xff0c;那得还用传统的老方法----递归&#xff0c;也许有很多人会抱怨递归的性能不是太理想。俗话说的话&#xff0c;能抓到老鼠的猫就是好猫。我提倡先解决问题&#xff0c;然后再优化性能。 数据库结构&#xff1a; 代码&#xff1a; protectedvoidGe…

50张非常精美的Apple主题桌面壁纸(上篇)

今天这篇文章向大家分享50张非常精美的Apple主题桌面壁纸&#xff0c;果粉们赶紧来下载啊。 Blue Apple wallpaper Apple Lawn .wallpaper. by ~VertigoStudio A quite simple Wallpaper, without mutch falderal Green Apple PSP by ~ARVQ Mac Apple Wallpapers With Android …

WPF- 关于自定义Calendar控件

由于项目对更改日期 时间的需要&#xff0c;接触了一下Calendar控件。结果发现在这么强大的控件的背后&#xff0c;微软其实并没有为开发人员留有很强的扩展性。 &#xff08;项目要求的Calendar控件能对一些特定的日期进行特殊处理&#xff0c;如高亮&#xff0c;以及类似于Ou…

[文摘]上软解散相关

真实系列文摘 之 上海软星仙剑开发组解散真正内幕-----附.上软人最后留给玩家的话我不是个疯狂的仙剑迷, 但我有朋友是; 我不是个对看不管惯的社会现象能挺身而出的人, 但还是喜欢去在意去关心那些事...下面这个算不上是什么新闻了, 但如过是玩过仙剑系列觉得还不错的人, 对游戏…

Apache Spark 1.5发布,新特性一览

Apache Spark是一个围绕速度、易用性和复杂分析构建的大数据处理框架。最初在2009年由加州大学伯克利分校的AMPLab开发&#xff0c;并于2010年成为Apache的开源项目之一。Apache Spark社区刚刚发布了1.5版本&#xff0c;明略数据高级工程师梁堰波解析了该版本中的众多新特性&am…

js正则表达exec和match的区别(转)

转自:http://blog.csdn.net/fushou/article/details/6934608 以前用js很少用到js的正则表达式&#xff0c;即使用到了&#xff0c;也是诸如邮件名称之类的判断&#xff0c;网上代码很多&#xff0c;很少有研究&#xff0c;拿来即用。 最近开发遇到一些需要使用正则表达式&#…

微软推出免费在线系统诊断工具--不用手动下载

在运行框中输入以下地址&#xff1a;\\live.sysinternals.com&#xff0c;所有工具都在Tools下&#xff0c;Files目录有可供下载的压缩包。。Microsoft Corp. has launched a beta service that lets Windows users launch the Sysinternals library of free diagnostic and tr…

开源软件

邮件服务器&#xff1a; Postfixftp服务器&#xff1a; vsftpd统计&#xff1a; nginx access log awstats 统计&#xff1a; google统计 google分析 腾讯分析 分布式锁及配置管理&#xff1a;Zookeeper php框架&#xff1a;thinkphp运维监控&#xff1a; cacti数据同步&#…

cad.net 获取所有已经安装的cad版本信息

计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Autodesk\Hardcopy 转载于:https://www.cnblogs.com/JJBox/p/11381254.html

Restangular的使用

2019独角兽企业重金招聘Python工程师标准>>> // First way of creating a Restangular object. Just saying the base URL var baseAccounts Restangular.all(accounts); // This will query /accounts and return a promise. baseAccounts.getList().then(functio…

浅析数据质量检查

What are the four broad categories of data quality checks? Provide an implementation technique for each. 数据质量检查的四大类是什么&#xff1f;为每类提供一种实现技术。 答&#xff1a;数据质量检查是ETL工作中非常重要的一步&#xff0c;主要关注一下四个方面。 1…

在用dw.GetSqlSelect()获得到的Sql语句出现PBSELECT( VERSION的解决办法

在用dw.GetSqlSelect()获得到的Sql语句出现PBSELECT( VERSION的解决办法: 把数据窗口的数据源转换到syntax模式下就行了 ! 转载于:https://www.cnblogs.com/Tonyyang/archive/2008/06/03/1212689.html

刚发现的2011年最给力的春联

上联&#xff1a;房价涨.地价涨.油价涨.电价涨.水价涨.粮价涨.肉价涨.蛋价涨.菜价涨.药价涨.这也涨.那也涨.怎一个涨字了得.涨了还涨。 下联&#xff1a;上学难.参军难.就业难.买房难.租房难.择偶难.结婚难.育儿难.就医难.养老难.男也难.女也难.看世间难字当头.难上加难 横批:活…

SQL Server的镜像是基于物理块变化的复制 镜像Failover之后数据的预热问题

SQL Server的镜像是基于物理块变化的复制 镜像Failover之后数据的预热问题 基于物理块变化的复制&#xff0c;没有并行也是很快的。 逻辑复制的日志是按事务结束的时间排序的&#xff0c;而物理复制是与事务无关的&#xff0c;只要发生了改变&#xff0c;就可以立即传送到备库&…

VSS不需要验证自动登录的问题

新项目要开始了,搭建好开发环境以及项目框架后,遇到第一个问题就是我自己的机子打开VS不需要登陆VSS就直接打开了解决方案,而其他的同事则没有遇到这样的情况,于是搜索了下原因,发现是设置问题: 1&#xff0c;在VSS管理器中》工具》选项》允许网络用户名自动登录 这个选项去掉 …