题目传送门:https://www.lydsy.com/JudgeOnline/problem.php?id=3170

  这道题要在n个点中求一个点使其他点到该点的切比雪夫距离最小。

  有个结论:$ (x,y) -> ((x+y)/2,(x-y)/2) $:原坐标系中的切比雪夫距离=新坐标系中的曼哈顿距离。

       $ (x,y)-> (x+y,x-y) $:原坐标系中曼哈顿距离=新坐标系中切比雪夫距离。

  然后转坐标系,x,y坐标分开处理,前缀和搞一下就好了。

  代码:

#include<cstdio>
#include<algorithm>
#define ll long long
#define min(a,b) (a<b?a:b)
#define maxn 100010
inline ll read()
{
ll x=; char c=getchar(),f=;
for(;c<''||''<c;c=getchar())if(c=='-')f=;
for(;''<=c&&c<='';c=getchar())x=x*+c-'';
return f?x:-x;
}
struct data{
double x,y;
int id;
}a[maxn];
double sum[maxn],ansx[maxn],ansy[maxn];
int n;
bool cmp1(data a,data b){return a.x<b.x;}
bool cmp2(data a,data b){return a.y<b.y;}
int main()
{
n=read();
for(int i=;i<=n;i++){
int x=read(),y=read();
a[i].x=1.0*(x+y)/; a[i].y=1.0*(x-y)/; a[i].id=i;
}
std::sort(a+,a+n+,cmp1);
sum[]=;
for(int i=;i<=n;i++)
sum[i]=sum[i-]+a[i].x;
for(int i=;i<=n;i++)
ansx[a[i].id]=(a[i].x*(i-)-sum[i-])+(sum[n]-sum[i]-a[i].x*(n-i));
std::sort(a+,a+n+,cmp2);
sum[]=;
for(int i=;i<=n;i++)
sum[i]=sum[i-]+a[i].y;
for(int i=;i<=n;i++)
ansy[a[i].id]=((a[i].y*(i-)-sum[i-])+(sum[n]-sum[i]-a[i].y*(n-i)));
double mn=1ll<<;
for(int i=;i<=n;i++)
mn=min(mn,(ansx[i]+ansy[i]));
printf("%.0lf\n",mn);
}

bzoj3170

  另一道练习题:花神的浇花集会

【bzoj3170】[Tjoi2013]松鼠聚会(数学题)的更多相关文章

  1. BZOJ3170: [Tjoi2013]松鼠聚会 - 暴力

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

  2. BZOJ3170: [Tjoi2013]松鼠聚会(切比雪夫距离转曼哈顿距离)

    Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1524  Solved: 803[Submit][Status][Discuss] Descripti ...

  3. BZOJ3170 [Tjoi2013]松鼠聚会 切比雪夫距离 - 曼哈顿距离 - 前缀和

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

  4. BZOJ3170: [Tjoi2013]松鼠聚会

    [传送门:BZOJ3170] 简要题意: 给出n个点的坐标,规定两个点的距离=max(|x1-x2|,|y1-y2|) 要求选出一个点,使得这个点到所有点的距离和最小 题解: 切比雪夫转换例题 将一个 ...

  5. Bzoj3170: [Tjoi2013]松鼠聚会 (切比雪夫距离)

    题目链接 显然,题目要求我们求切比雪夫距离,不会的可以去看一下attack的博客. 考虑枚举所有的点 转换为曼哈顿距离后. 那么对于这个点的路程和是. \[\sum_{i=1}^n | x_i - x ...

  6. 【bzoj3170】[Tjoi2013]松鼠聚会

    3170: [Tjoi2013]松鼠聚会 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1670  Solved: 885[Submit][Statu ...

  7. BZOJ_3170_[Tjoi2013]松鼠聚会_切比雪夫距离+前缀和

    BZOJ_3170_[Tjoi2013]松鼠聚会_切比雪夫距离+前缀和 题意:有N个小松鼠,它们的家用一个点x,y表示,两个点的距离定义为:点(x,y)和它周围的8个点即上下左右四个点和对角的四个点, ...

  8. [TJOI2013]松鼠聚会 曼哈顿距离

    [TJOI2013]松鼠聚会 luogu P3964 首先容易得到两点间距离是\(max(|x_1-x_2|, |y_1-y_2|)\)(即切比雪夫距离) 然后有个套路:原\((x,y)\)求曼哈顿距 ...

  9. [TJOI2013]松鼠聚会(枚举)

    [TJOI2013]松鼠聚会 题目描述 草原上住着一群小松鼠,每个小松鼠都有一个家.时间长了,大家觉得应该聚一聚.但是草原非常大,松鼠们都很头疼应该在谁家聚会才最合理. 每个小松鼠的家可以用一个点x, ...

  10. 洛谷P3964 [TJOI2013]松鼠聚会 [二分答案,前缀和,切比雪夫距离]

    题目传送门 松鼠聚会 题目描述 草原上住着一群小松鼠,每个小松鼠都有一个家.时间长了,大家觉得应该聚一聚.但是草原非常大,松鼠们都很头疼应该在谁家聚会才最合理. 每个小松鼠的家可以用一个点x,y表示, ...

随机推荐

  1. iOS-UIScrollView拉伸效果

    解决办法: 比如登录界面是可以上下拉伸的(微信),在ScrollView里调用一下这个方法即可. scrollView.alwaysBounceVertical = YES;

  2. python的猴子补丁monkey patch

    monkey patch指的是在运行时动态替换,一般是在startup的时候. 用过gevent就会知道,会在最开头的地方gevent.monkey.patch_all();把标准库中的thread/ ...

  3. Less-mixin函数基础一

    //mixin函数 立即执行mixin函数,example: .test{ color:#ff00000; background:red; } //立即执行mixin grammar 1 扩展exte ...

  4. DTD的学习和理解

    看log4j的官方文档,上面说提供了XML格式的配置,但是没有XML具体示例.发现文档中说的是一个DTD文档,但我根本不知道DTD是什么,于是就简单了解一下.顺带做一下笔记. 注:结合笔记看log4j ...

  5. jsp 通用获取所有表单值传后台

    新建一个js文件,自定义一个jquery 函数. 在jsp页面引用 下面为:自定义函数 $.fn.GetDivJson = function (prifix,orgModel) { var $oute ...

  6. 容器OOM相关

    使用容器的时候经常出现容器无缘无故重启的情况,首先我们要怀疑的应该是是否发生OOM了,通过以下命令可以查看 需要在容器的宿主机上在执行,宿主机上执行/var/log/dmesg有相关信息 dmesg ...

  7. .net ASPxTreeList 使用手记

    ASPxTreeList在使用ASPxGridViewExporter控件做导出时,如果指定文件名是中文时会乱码可以用以下方法解决: grvExporter为ASPxGridViewExporter控 ...

  8. django博客项目8:文章详情页

    首页展示的是所有文章的列表,当用户看到感兴趣的文章时,他点击文章的标题或者继续阅读的按钮,应该跳转到文章的详情页面来阅读文章的详细内容.现在让我们来开发博客的详情页面,有了前面的基础,开发流程都是一样 ...

  9. tornado web应用程序结构

    tornado web 应用程序通常包含一个或者多个RequestHandler 子类,一个Application 对象来为每个控制器路由到达的请求和一个mian()函数 import tornado ...

  10. DataUml Design 教程5-代码模板介绍(甚于T4模板技术)

    DataUml Design 代码模板全然基于C#语言来编写的. 不懂写模板的能够请教作者,随时欢迎. 以下是一段模板代码,这段代码能够获取一个类结构的全部信息.             <#@ ...