链接

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. android app 内置图标icon 的标准,(目前是2019年)
  2. HDU7059-Counting Stars 线段树 (区间加最低位置,区间减最高位)
  3. 软件疑难杂症解决办法汇总
  4. Problem 59 GCC密切相关的一些环境变量?
  5. android 取消和svn关联_Android Studio如何取消与SVN的关联
  6. Centos mysql的安装和配置
  7. Meteor的临时的存储:Session
  8. Java Learning Path(四) 方法篇
  9. 使用javassist动态注入代码
  10. Marketing Cloud的notification的OData实现
  11. 飞鸽传书 宣传单和电话说辞
  12. vue监听字符串长度_Vue 的 computed 和 watch 的区别
  13. 程序员生存定律--如何尽快变的稍微专业一点
  14. 视频监控市场发展潜力大 六个阻碍待突破
  15. paip.提升安全性---WEB程序安全检测与防范
  16. 用python解决搬砖问题_如何像要饭一般”用“python (一)(非编程类工作/科研搬砖工)...
  17. MQTT测试工具MQTT.FX
  18. 博科交换机建立Zone基本配置
  19. flask入门和进阶五(关注功能的实现Followers)
  20. 租用国外服务器推荐哪一个?

热门文章

  1. 计算机视觉中的深度深度学习中的深度
  2. asp.net书籍推荐
  3. A*算法详解(讲的一级棒 )
  4. English Learning - Day21 作业打卡 2022.12.27 周二
  5. 登陆淘宝账号,提示证书过期
  6. 香帅的北大金融学课 02 金融机构——银行
  7. 时间序列建立图模型(四)
  8. 【springboot】实现阿里云视频点播上传视频
  9. Codevs 打鼹鼠
  10. 对于毛星云opencv教程中的方法汇总