洛谷P3964 [TJOI2013]松鼠聚会 [二分答案,前缀和,切比雪夫距离]
松鼠聚会
题目描述
草原上住着一群小松鼠,每个小松鼠都有一个家。时间长了,大家觉得应该聚一聚。但是草原非常大,松鼠们都很头疼应该在谁家聚会才最合理。
每个小松鼠的家可以用一个点x,y表示,两个点的距离定义为点(x,y)和它周围的8个点(x-1,y)(x+1,y),(x,y-1),(x,y+1).(x-1,y+1),(x-1,y-1),(x+1,y+1),(x+1,y-1)距离为1。
输入输出格式
输入格式:
第一行是一个整数N,表示有多少只松鼠。接下来N行,第i行是两个整数x和y,表示松鼠i的家的坐标
输出格式:
一个整数,表示松鼠为了聚会走的路程和最小是多少。
输入输出样例
6
-4 -1
-1 -2
2 -4
0 2
0 3
5 -2
20
6
0 0
2 0
-5 -2
2 -2
-1 2
4 0
15
说明
样例解释
在第一个样例中,松鼠在第二只松鼠家(-1,-2)聚会;在第二个样例中,松鼠在第一只松鼠家(0.0)聚会。
数据范围
30%的数据,0 ≤ N ≤ 1000
100%的数据,0 ≤ N ≤ 100000; −10^9 ≤ x, y ≤ 10^9
分析:
这道奇妙的题让蒟蒻认识了切比雪夫距离这个奇妙的东西,关于切比雪夫距离可以参照julao的博客。
关于这道题,我们把切比雪夫距离转换成曼哈顿距离,然后用前缀和+二分答案优化一下就可以了。
Code:
//It is made by HolseLee on 6th Nov 2018
//Luogu.org P3964
#include<bits/stdc++.h>
using namespace std; typedef long long ll;
const int N=1e5+;
int n,x[N],y[N],px[N],py[N];
ll sumx[N],sumy[N],ans; inline int read()
{
char ch=getchar(); int x=; bool flag=false;
while( ch<'' || ch>'' ) {
if( ch=='-' ) flag=true; ch=getchar();
}
while( ch>='' && ch<='' ) {
x=x*+ch-''; ch=getchar();
}
return flag ? -x : x;
} void getsum()
{
for(int i=; i<=n; ++i) sumx[i]=sumx[i-]+x[i];
for(int i=; i<=n; ++i) sumy[i]=sumy[i-]+y[i];
} inline ll binary_x(int u)
{
ll l=, r=n, mid,ret=n;
while( l<=r ) {
mid=(l+r)>>;
if( x[mid]<=px[u] ) ret=mid, l=mid+;
else r=mid-;
}
return ret;
} inline ll binary_y(int u)
{
ll l=, r=n, mid,ret=n;
while( l<=r ) {
mid=(l+r)>>;
if( y[mid]<=py[u] ) ret=mid, l=mid+;
else r=mid-;
}
return ret;
} inline ll getans(int u)
{
ll xpos=binary_x(u);
ll ansx=xpos*px[u]-sumx[xpos]+sumx[n]-sumx[xpos]-(n-xpos)*px[u];
ll ypos=binary_y(u);
ll ansy=ypos*py[u]-sumy[ypos]+sumy[n]-sumy[ypos]-(n-ypos)*py[u];
return ansx+ansy;
} int main()
{
n=read(); int a,b;
for(int i=; i<=n; ++i) {
a=read(), b=read();
x[i]=px[i]=a+b; y[i]=py[i]=a-b;
}
sort(x+,x+n+); sort(y+,y+n+);
getsum();
ans=1e18;
for(int i=; i<=n; ++i) {
ll now=getans(i);
ans=min(now,ans);
}
printf("%lld\n",ans>>1ll);
return ;
}
洛谷P3964 [TJOI2013]松鼠聚会 [二分答案,前缀和,切比雪夫距离]的更多相关文章
- 洛谷P3964 [TJOI2013]松鼠聚会(坐标系变换)
题面 传送门 题解 对于两个点\((x_i,y_i)\)和\(x_j,y_j\),我们定义它们之间的曼哈顿距离为 \[|x_i-x_j|+|y_i-y_j|\] 定义它们的切比雪夫距离为 \[\max ...
- 洛谷3964 [TJOI2013]松鼠聚会
题目描述 草原上住着一群小松鼠,每个小松鼠都有一个家.时间长了,大家觉得应该聚一聚.但是草原非常大,松鼠们都很头疼应该在谁家聚会才最合理. 每个小松鼠的家可以用一个点x,y表示,两个点的距离定义为点( ...
- 洛咕 P3964 [TJOI2013]松鼠聚会
有个结论就是把坐标\((x,y)\)变形成\(((x+y)/2,(x-y)/2)\),切比雪夫距离就变成了曼哈顿距离. 所以变换一下坐标直接统计答案即可. // luogu-judger-enable ...
- [CodePlus 2017 11月赛&洛谷P4058]木材 题解(二分答案)
[CodePlus 2017 11月赛&洛谷P4058]木材 Description 有 n棵树,初始时每棵树的高度为 Hi ,第 i棵树每月都会长高 Ai.现在有个木料长度总量为 S的订单, ...
- 洛谷P4589 [TJOI2018]智力竞赛(二分答案 二分图匹配)
题意 题目链接 给出一个带权有向图,选出n + 1n+1条链,问能否全部点覆盖,如果不能,问不能覆盖的点权最小值最大是多少 Sol TJOI怎么净出板子题 二分答案之后直接二分图匹配check一下. ...
- 洛谷 P1824 进击的奶牛 【二分答案】(求最大的最小值)
题目链接:https://www.luogu.org/problemnew/show/P1824 题目描述 Farmer John建造了一个有N(2<=N<=100,000)个隔间的牛棚, ...
- 洛谷P3576 [POI2014]MRO-Ant colony [二分答案,树形DP]
题目传送门 MRO-Ant colony 题目描述 The ants are scavenging an abandoned ant hill in search of food. The ant h ...
- 洛谷P1462通往奥格瑞玛的道路——二分答案最短路
题目:https://www.luogu.org/problemnew/show/P1462 最大值最小问题,二分答案. 代码如下: #include<iostream> #include ...
- 洛谷3933 Chtholly Nota Seniorious 二分答案+贪心
题目链接 题意 给你一个N*M的矩阵 (N,M <=2000) 把他分成两部分 使两部分的极差较大的一个最小 求这个最小值.然后分矩阵的要求是:每个部分内部的方块之间,可以通过上下左右相互到 ...
随机推荐
- C&C++图形图像处理开源库
Google三维APIO3D O3D 是一个开源的 WebAPI 用来在浏览器上创建界面丰富的交互式的 3D 应用程序.这是一种基于网页的可控3D标准.此格式期望真正的基于浏览器,独立于操作系统之外, ...
- 洛谷P1140 相似基因 (DP)
洛谷P1140 相似基因 题目背景 大家都知道,基因可以看作一个碱基对序列.它包含了44种核苷酸,简记作A,C,G,TA,C,G,T.生物学家正致力于寻找人类基因的功能,以利用于诊断疾病和发明药物. ...
- pthread_detach
http://blog.csdn.net/scanery/article/details/7241890 感谢作者! 近来发现 在线程函数第一行调用 pthread_detach(pthread_ ...
- 第一节 Spring的环境搭建
正在构建,扫一扫,敬请期待 和玩得来的人在一起玩才叫玩! 和玩不来的人在一起玩,那种感觉就像加班啊! 关注胖个人微信公众账号,希望对各位学生有所帮助! --胖先生 Spring框架,什么是Sprin ...
- 情人节网站logo赏析
一年一度的情人节,不少网站都进行了不错的装点,我们不妨来简单浏览一下,借以触发灵感. 百度 百度的logo放上了改变,变成了一个gif,图片如下. 腾讯 淘宝 淘宝的logo同样换成了一个gif 谷歌 ...
- ThinkPHP框架学习(一)
这几天呢,断断续续地在看孙叔华老师的ThinkPHP教程,期间还做了一些其他事情,出去办了点事,总结总结下一学期规划等等,不知不觉间又过去了大半个星期.现在呢,看完了一天的教程,在这里,还是希望稍微总 ...
- bzoj千题计划273:bzoj4710: [Jsoi2011]分特产
http://www.lydsy.com/JudgeOnline/problem.php?id=4710 答案=总方案数-不合法方案数 f[i][j] 前i种特产分给j个人(可能有人没有分到特产)的总 ...
- bzoj千题计划191:bzoj2337: [HNOI2011]XOR和路径
http://www.lydsy.com/JudgeOnline/problem.php?id=2337 概率不能异或 但根据期望的线性,可以计算出每一位为1的概率,再累积他们的期望 枚举每一位i,现 ...
- Linux命令(五)免密码远程登录和配置别名
1. ssh-keygen 2. ssh-copy-id -p port user@remote .ssh中建立并编辑config文件 原来需要 ssh -p ubuntu@xxx.xxx.xxx 现 ...
- 面板支持单个,多个元素的jQuery图片轮播插件
一.先附上demo <!doctype html> <html> <head> <meta charset="utf-8"> < ...