• 暂且叫它-"蒙伪树"-吧-


    今天我看到ooo聚聚画线段树,但是ta画的不是很好,于是本人饶有兴趣的研究了那棵无聊的树。

    但是它并不满足树的性质,于是命名为伪树。

    为了防止太弱和别的巨型数据结构撞名导致尴尬,于是又挂了自己$id$的一部分,叫"蒙伪树"($ ext{Miemeng's Erroneous Tree}$)可以简称$ ext{MET}$。

    其实是样辉三角?

    我伪了。

    先来张图:

    1

    有啥用:

    显然没啥用,可以用上面多的要命的节点维护区间最值,或是一些其他的信息。

    时间复杂度:

    建树:$O(N^2)$

    查询:$O(1)$

    修改:$O(N)$

    所以它是暴力,恩?

    空间复杂度:

    $O(N^2)$

    (为什么我不开二维数组?)

    一些乱七八糟的性质:

    1>

    2

    当我们将$LCA$的编号标记为两个数取平均值后的值,这样每一个值就控制了一些点。

    这样就可以建一棵新树。

    3

    别问我为什么又画了一个(上面的图太丑了,而且我把它丢了)

    这样就变成前缀和啦,所以我们可以得出结论,前缀和是对$ ext{MET}$的优化(其实$ ext{MET}$是对大部分数据结构的劣化(捂脸

    于是对前缀和进行位运算优化,得到树状数组。

    然后我们发现里面有很多点是无效的,于是删除一些节点。

    4

    发现它(像)是线段树。

    于是我们又得出结论,线段树也是对$ ext{MET}$的优化。

    最后我扯一句,如果用倍增优化可以把$ ext{MET}$优化成$ ext{ST}$表。

    好,终于扯完了。

    (话说这么一个暴力我扯一篇博客??)

    导图:

    5

  • 相关阅读:
    The connection to adb is down, and a severe error has occured
    android 补间动画
    Android Geocoder(位置解析)
    Android服务之AIDL
    SQL语言学习-数据操纵语言
    SQL语言学习-数据定义语言
    asp.net MVC 验证注解
    django之用户表的继承
    django之ModelForm组件
    django之 基于queryset和双下划线的跨表查询
  • 原文地址:https://www.cnblogs.com/marmot-cage/p/11779169.html
Copyright © 2020-2023  润新知