• 「学习笔记」切比雪夫距离


    切比雪夫距离

    [maxlimits_{i=1}^{n} |ax_i-ay_i| ]

    就是坐标差的绝对值的极值

    然后我们思考曼哈顿距离和切比雪夫距离的关系:

    在纸上建一个二维坐标系,然后画一个与原点曼哈顿距离为 (5) 的正方形 (S_1)

    然后再画一个切比雪夫距离为 (5) 的正方形 (S_2)

    看看它们,是不是有某种奇妙的联系:(S_1) 旋转 (45) 度后放大为原来原来的两倍就是 (S_2)

    互相转化的公式为$(x,y) on S_1 ightarrow(frac{x+y}{2},frac{x-y}{2}) on S_2 $

    这里可以用来使某些题的处理更加方便

    例题

    Luogu5193 [TJOI2012]炸弹

    曼哈顿两个维度有点头疼,不好处理,那我们转切比雪夫

    这样我们把距离转成了以每个点为原点,在定边长切比雪夫距离矩形中框点

    我们上 (map) 扫描线就行了

    我们在处理每个点的时候就直接找那个离他 (y) 最近的上下两个就行了

    因为那个点已经考虑了前面的点

    Luogu3966 单词

    看出来是个切比雪夫不难

    然后把切比雪夫转成曼哈顿

    这样距离就可以前缀和求啦!

    BZOJ2735世博会

    把发现题目里面要求的是一个切比雪夫距离

    那么转到曼哈顿上维护中位数和前后缀和即可

    然后写一下这题目我犯的所有错误:

    1.线段树查询:

    if(st<=mid) ...
    else ...->if(ed>mid)
    

    2.求和的时候减东西减错了,应该拿 (pair o second)

    然后就没了

  • 相关阅读:
    python 基于gevent协程实现socket并发
    python asyncio
    python 池 协程
    python
    python 守护进程
    python 线程 threading模块
    python 安装Django失败处理
    python 队列
    python 锁
    继承,抽象类,多态,封装
  • 原文地址:https://www.cnblogs.com/yspm/p/12784289.html
Copyright © 2020-2023  润新知