总结:OI题目中常见的三种距离

A(x1,y1),B(x2,y2)

欧几里得距离

|AB|=(x2x1)2+(y2y1)2

一般模型:在一个坐标系上,求从一个点到另一个点的最短几何距离。

曼哈顿距离

|AB|=|x2x1|+|y2y1|

一般模型:网格图中从一个点走向另一个点的最短距离。

切皮雪夫距离

|AB|=max(|x2x1|,|y2y1|)

一般模型:棋盘上或者在图中一个点到另外相邻八个点的距离为 1。

曼哈顿和切皮雪夫距离的互相转化

曼哈顿 切皮雪夫:(x,y)(x+y,xy)

切皮雪夫 曼哈顿:(x,y)(x+y2,xy2)

后者用的比较多,切皮雪夫距离在计算时要取 max,往往不是很好优化。

例题:TJOI2013 松鼠聚会 - Luogu

固定聚会点后,直接计算距离和是 O(n) 的,无法接受。

我们转化成曼哈顿距离,发现 x,y 的贡献分别独立出来了,我们可以分别排序,前缀和优化,二分查找。这样就能做到单次 O(2logn) 计算,可以通过本题。

  • 参考博客

曼哈顿距离与切比雪夫距离及其相互转化 - 自为风月马前卒 - 博客园

题解 P3964 松鼠聚会 - Rbu_nas

posted @   superl61  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
点击右上角即可分享
微信分享提示