链接

luogu

思路

切比雪夫距离有max,不好优化。
但是我们能转化成曼哈顿距离,只需要
\((x,y)变成(\frac{x+y}{2},\frac{x-y}{2})\)
相反的曼哈顿距离转切比雪夫距离
\((x,y)=>(x+y,x-y)\)
详情见attack
剩下的就是sort直接做了

代码

#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int N=1e5+7;
int n;
struct node {int val,id;bool operator < (const node &b) const {return val<b.val;}
}a[N],b[N];
ll ans[N],sum[N][2],mi;
int main() {scanf("%d",&n);for(int i=1,tmpa,tmpb;i<=n;++i) {scanf("%d%d",&tmpa,&tmpb);a[i].val=(tmpa+tmpb),a[i].id=i;b[i].val=(tmpa-tmpb),b[i].id=i;}sort(a+1,a+1+n);sort(b+1,b+1+n);for(int i=1;i<=n;++i) sum[i][0]=sum[i-1][0]+a[i].val;for(int i=n;i>=1;--i) sum[i][1]=sum[i+1][1]+a[i].val;for(int i=1;i<=n;++i) {ans[a[i].id]+=1LL*a[i].val*(i-1)-sum[i-1][0];ans[a[i].id]+=sum[i+1][1]-1LL*(n-i)*a[i].val;}for(int i=1;i<=n;++i) sum[i][0]=sum[i-1][0]+b[i].val;for(int i=n;i>=1;--i) sum[i][1]=sum[i+1][1]+b[i].val;for(int i=1;i<=n;++i) {ans[b[i].id]+=1LL*b[i].val*(i-1)-sum[i-1][0];ans[b[i].id]+=sum[i+1][1]-1LL*(n-i)*b[i].val;}mi=0x3f3f3f3f3f3f3f3fLL;for(int i=1;i<=n;++i) mi=min(mi,ans[i]);cout<<mi/2<<"\n";return 0;
}

转载于:https://www.cnblogs.com/dsrdsr/p/10985038.html

luoguP3964 [TJOI2013]松鼠聚会相关推荐

  1. P3964 [TJOI2013]松鼠聚会【切比雪夫距离】

    P3964 [TJOI2013]松鼠聚会 题意:给出nnn个点(xi,yi)(x_i,y_i)(xi​,yi​),找到某个点,使得所有点到该点的切比雪夫距离和最小. 一. A(x1,y1),B(x2, ...

  2. 算法笔记——曼哈顿距离,切比雪夫距离,曼哈顿距离之和 P3964 [TJOI2013]松鼠聚会

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

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

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

  4. [TJOI2013]松鼠聚会

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

  5. 洛谷3964 [TJOI2013]松鼠聚会

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

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

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

  7. 洛谷 P3964 [TJOI2013]松鼠聚会(切比雪夫距离和曼哈顿距离转换)

    这个距离的定义就是切比雪夫距离的定义.切比雪夫距离的计算式子是:d = max(|x1 - x2|,|y1 - y2|) 在切比雪夫距离的定义下,一个点和周围相邻的8个点的距离相等(都为1). 如果将 ...

  8. [TJOI2013]松鼠聚会【切比雪夫距离转换曼哈顿距离】

    题目链接 首先,愚人节那天,暴力斩获30分,(暴力法真好用! 然后,讲一下解题的思路吧,主要是怎样转换切比雪夫距离这里要有神奇的方法. 首先,我们先列举一下两点间切比雪夫距离的求解公式: 指的是i.j ...

  9. P3964 [TJOI2013]松鼠聚会

    HyperlinkHyperlinkHyperlink https://www.luogu.org/problemnew/show/P3964 DescriptionDescriptionDescri ...

最新文章

  1. 【java的多态性】
  2. 2016021701 - 百位名人读书心法01
  3. Win32 多文档多视图
  4. C语言课后习题(63)
  5. 全视频沟通不再远 罗技为中国企业开启视频协作新格局
  6. 零基础学python电子书-资料│最适合大学生零基础学的Python视频+电子书
  7. java标识符写法_标识符你书写规范了吗?
  8. .jpg .png .jpeg图片转.eps矢量图的python脚本
  9. win10怎么关机 win10关机快捷键大全
  10. Fundamentals Of Computer Graphics (4th Ed)
  11. Specificity and sensitivity
  12. 大数据助力普惠金融发展
  13. html实现银行卡中间四位显示为*号,银行卡和手机号中隐藏的数字用*号代替,不能和文字垂直居中,有什么解决方案吗?...
  14. [英语阅读]你的英文名特别吗
  15. 用opengl画一个3D机器人 完整源码 直接使用
  16. 专升本——动词的时态和语态
  17. pve万兆网卡驱动_教你:高性价比万兆群晖方案——万兆SFP网卡配置使用教程
  18. 解决国内网页无法加载reCaptcha的方法
  19. JSP SSH图书系统myeclipse开发sql数据库BS模式java编程mvc结构 详细设计
  20. python中and和or的区别-Python中and-or语法

热门文章

  1. 上网方式不正确导致路由器无法连接外网
  2. 王家林最受欢迎的一站式云计算大数据和移动互联网解决方案课程 V1之Android架构设计和实现完整训练:HALFrameworkNative ServiceAndroid ServiceBes
  3. 遮挡检测--基于角度的遮挡检测方法
  4. 下列python保留字中不用于表示分支结构_【单选题】下列Python保留字中,不用于表示分支结构的是...
  5. 图像处理之Gamma校正
  6. STM32点亮第一盏灯
  7. 大专(高职)到底值不值得读
  8. 免费获取歌词API 可下载歌词
  9. 计算机工作站,大厂设计专用出差笔记本?戴尔3551+代图形设计工作站
  10. NISP一级考试相关知识点