首页 > 其他分享 >1689D Lena and Matrix (曼哈顿距离转切比雪夫距离/随机化/线段树)

1689D Lena and Matrix (曼哈顿距离转切比雪夫距离/随机化/线段树)

时间:2024-06-05 14:57:56浏览次数:21  
标签:转切 格子 曼哈顿 比雪夫 距离 随机化 枚举

记一道有趣的题:P

题意

这道题很有意思。
给定地图上若干个黑色的点,求这样一个点的坐标,满足其到图中任何一个黑色点的最大曼哈顿距离最小。
\(max(|a-x_i|+|b-y_i|),i=1,2..k\)

方法一

曼哈顿距离和且比雪夫距离可以互相转化,曼哈顿转切比雪夫如下:
\((x,y) \to (x+y,x-y)\)
转化后原坐标的曼哈顿距离等价为转化后的切比雪夫距离。也就是:
\(max( max((X-xi),(Y-yi)))\)
证明详见:https://oi-wiki.org/geometry/distance/
这样就把两个维度拆开了,只要对于\(x+y,x-y\)分别求最大/最小值,再枚举矩阵上的点打擂台即可。

方法二

随机化的做法是随机500个格子,找出距离它们最远的黑色格子,把这些黑色格子作为“最远点”。再枚举矩阵上所有点求答案。
原理是500个格子找出的黑色格子,极大概率包含方法一中\(x+y,x-y\)的最大/最小值。

方法三

考虑列数固定的时候,有用的只有最上面的格子和最下面的格子,格子的数量级压缩到了\(O(m)\)。
按行枚举矩阵上每一个格子,从\((i,j) \to (i,j+1)\)时,\([1,j]\)列的格子贡献\(+1\),\([j+1,m]\)列的格子贡献-1,线段树区间操作即可。这部分的复杂度是\(O(nmlogm)\)
当一行枚举完,挪到下一行开始枚举时,初始化的复杂度是\(O(m)\)的,这部分总的复杂度是\(O(nm)\),可以接受

标签:转切,格子,曼哈顿,比雪夫,距离,随机化,枚举
From: https://www.cnblogs.com/liyishui2003/p/18233027

相关文章

  • leetcode-624.数组列表中的最大距离
    数组列表中的最大距离给定m个数组,每个数组都已经按照升序排好序了。现在你需要从两个不同的数组中选择两个整数(每个数组选一个)并且计算它们的距离。两个整数a和b之间的距离定义为它们差的绝对值|a-b|。你的任务就是去找到最大距离目标题意中的绝对值|a-b|等价于选取......
  • PCL欧式距离聚类源码解析
    1.Findapointp10inspace,thereiskdTreeFindthenpointsclosesttohim,andjudgethedistancefromthesenpointstop.Putpointsp12,p13,p14….withdistanceslessthanthethresholdrinclassQFindabitofp12inQ(p10)andrepeat1.3Fi......
  • 6公里远距离视频传输,飞睿智能无线CV5200模组方案,设备稳定连接通信
    随着科技的不断进步,物联网(IoT)和智能设备正逐渐渗透到我们生活的方方面面。在这一进程中,远距离无线通信成为推动行业发展的关键因素。智能控制、远程无线传输是实现设备间的协作场景的关键,CV5200模组通过无线WiFi通信技术,为智能设备间的无缝连接和数据交换提供了可能。飞睿智......
  • 代码随想录算法训练营Day55 | 583. 两个字符串的删除操作、72. 编辑距离、编辑距离总
    本文目录583.两个字符串的删除操作做题看文章72.编辑距离做题看文章编辑距离总结篇以往忽略的知识点小结个人体会583.两个字符串的删除操作代码随想录:583.两个字符串的删除操作Leetcode:583.两个字符串的删除操作做题找出最长公共子序列,然后用两个字符串的......
  • 树上点到路径/链的最短距离
    结论树上一个点\(x\)到路径\(u\rightarrowv\)的最短距离为:\[dep[x]+dep[\operatorname{lca}(u,v)]-dep[\operatorname{lca}(x,u)]-dep[\operatorname{lca}(x,v)]\]其中,\(dep\)为该点的深度,\(\operatorname{lca}\)为两点的最近公共祖先。证明我们提取出同时包含\(x,u,......
  • 【数学&代码】求两点之间的距离
    Hello!大家好,今天讲讲求两点之间的距离。已知点A的坐标为(x1,y1),点B的坐标为(x2,y2),求两点之间的直线距离。首先,我先讲明,要解决这个问题,需要用到勾股定理,没学过的小伙伴们先去学一下哈!【数学】勾股定理https://blog.csdn.net/yangyanbin_sam/article/details/138959059?spm=100......
  • css实现按钮文案垂直水平居中,按钮左侧图标相对文字固定距离展示
    需求css实现按钮文案垂直水平居中,按钮左侧图标相对文字固定距离展示,效果如图: 实现方案一:使用margin-right来实现按钮和左侧图标的间距<divclass="download-btn"><divclass="btn-content":class="{'left-icon':showLeftIcon}"><div......
  • 一篇文章带你实践掌握社会网络分析——随机网络、度保持随机化、BA模型
    实践内容:生成和下载的网络相同平均度和网络规模的随机网络对比分析随机网络和下载的网络相关的特征和指标采用度保持的网络随机化算法生成和下载的网络度序列相同的网络利用BA模型生成与下载的网络模型相同的网络,其初始和每个时间t新加入节点的连边自己定义对比分析生成的......
  • 【ArcGIS微课1000例】0112:沿线(面)按距离或百分比生成点
    文章目录一、沿线生成点工具介绍二、线状案例三、面状案例一、沿线生成点工具介绍位置:工具箱→数据管理工具→采样→沿线生成点摘要:沿线或面以固定间隔或百分比创建点要素。用法:输入要素的属性将保留在输出要素类中。向输出要素类添加新字段ORIG_FID,并设置为......
  • 深度学习-nlp-NLP之trainsformer位置编码与余弦距离--77
    目录1.位置编码与词嵌入2.余弦距离1.位置编码与词嵌入importtorchimporttorch.nnasnnimportmath#定义词向量嵌入的大小d_model=512#定义位置编码的维度max_seq_len=5000#定义词向量嵌入层embedding=nn.Embedding(vocab_size,d_model)#定义位置编......