首页 > 其他分享 >楼房重建

楼房重建

时间:2023-12-29 17:47:06浏览次数:28  
标签:左子 楼房 最大值 右子 权值 序列 节点 重建

这一道题目稍微转换一下题意之后就可以知道需要维护一个斜率单调递增的序列(下文把每个点的斜率称为权值)

所以动态维护权值单增序列可以像下面这么做

我们根据线段树“分而治之”的思想,用每一个节点维护相似的信息

维护什么呢?维护在这一个节点的代表区间中,以这一个节点所代表的区间的第一个点为开头的最大的权值不下降序列的长度,以及这个节点所代表的区间的权值的最大值

那么查询的时候直接输出根节点的序列长度即可

修改的时候,先点修改到最低的叶子节点,那么合并怎么合并呢?

在合并的时候,父节点肯定会继承左子节点的序列(即左子节点的序列是父节点序列的左半部分),问题是右节点怎么办呢?

这个时候,我们要解决的问题是:在右子节点中寻找第一个权值比左子节点最大权值还要大的位置,并从这个位置开始所得到的不下降序列长度

我们就将其作为一个函数,尝试进行分而治之,即解决在当前节点中寻找第一个权值比给定权值还要大的位置,并从这个位置开始所得到的不下降序列长度

如果右子节点的左子节点的最大值比左子节点的最大值小,那么右子节点的左子节点的所有房子一定看不到,所以我们就可以递归查找右子节点的右子节点

如果右子节点的左子节点的最大值比左子节点的最大值大,可以想一下应该怎么做(具体见代码,这个很容易看懂)

时间复杂度为\(O(log^2n)\)

我还想了另一种方法,也很经典

用一颗线段树维护两个值,一个是区间最大值,一个是区间和,这里的和定义为当前节点所代表区间的每个点的贡献和,而每个点的贡献要么是\(1\)要么是\(0\),当且仅当这个点能被看到的时候贡献为\(1\)

那么在修改一个点的时候,我们值讨论是增高的这种情况

如果增高的不够多(就是前面的最高的房子更高),那么更新一下区间最大值就好了,其他都不变

如果增高的足够多了,那么在修改最大值的同时,也要把这个点的贡献变为\(1\),然后二分查找这个点后面的点第一个比这个点的高度还要高的点,然后把这两个点中间的点的贡献全部修改为\(0\),每次查询就直接查询根节点的和即可,时间复杂度仍然是\(O(log^2n)\)

标签:左子,楼房,最大值,右子,权值,序列,节点,重建
From: https://www.cnblogs.com/dingxingdi/p/17935401.html

相关文章

  • Note1 基于MNE实现脑电信号的源定位(重建或成像)
    写在最前最开始接触mne还是在20年,那时候它的版本才刚刚开发到0.21。几年过去他的正式版都已经发布了,而我还依旧是一个学术小白orz。简单调研一下,发现网上关于mne的教程不多,看到脑机接口社区有推出一系列的epoch的mne教程,几位大佬撰写的mne中文手册,另外还有收费培训班。但作为情......
  • 算法题:剑指 Offer 07. 重建二叉树(题目+思路+代码+注释)时空时间优先选O(N) O(N) 2ms击
    题目剑指Offer07.重建二叉树输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。示例1:Input:preorder=[3,9,20,15,7],inorder=[9,3,15,20,7]Output:[3,9,20,null,null,15,7]示例2:Input:......
  • 倾斜摄影三维模型重建的几何坐标变换技术方法浅析
    倾斜摄影三维模型重建的几何坐标变换技术方法浅析 倾斜摄影三维模型数据的坐标变换是将相机坐标系下获取的倾斜摄影图像转换为地理坐标系下的三维模型数据,以实现地理空间信息的表达与分析。在实际应用中,需要进行坐标变换的主要包括航片图像、相机姿态参数和控制点坐标等数据。......
  • SCConv:用于特征冗余的空间和通道重建卷积
    SCConv:用于特征冗余的空间和通道重建卷积摘要卷积神经网络(CNN)在各种计算机视觉任务中取得了显着的性能,但这是以巨大的计算资源为代价的,部分原因是卷积层提取了冗余特征。最近的工作要么压缩训练有素的大型模型,要么探索精心设计的轻量级模型。在本文中,我们尝试利用特征之间的空间......
  • 倾斜摄影三维模型重建高程偏差的因素及解决方法分析
    倾斜摄影三维模型重建高程偏差的因素及解决方法分析   无人机倾斜摄影免像控点三维重建技术是一种基于无人机航拍图像的三维地形模型构建方法,广泛应用于地理测绘、城市规划和资源管理等领域。然而,在实际应用中,往往会遇到模型高程偏差较大的问题,这可能由多种原因导致。本......
  • 倾斜摄影三维重建遇到常见的问题分析
    倾斜摄影三维重建遇到常见的问题分析 无人机倾斜摄影免像控点三维重建技术已经在许多领域得到广泛应用,包括土地测绘、城市规划、文化遗产保护等。然而,在实际应用中,仍然会遇到一些常见问题和挑战。本文将针对这些问题进行分析,并提供解决方案。1、图像质量不佳:无人机倾斜摄影需......
  • P1119 灾后重建
    原题链接思路请看题解,讲的非常详细,细节请看我一道很多细节的题1.初始化要赋1e92.只有在两个村庄都重建完之后,一条路才通3.一条路都通了之后,两个村庄都要再走一遍4.村庄编号从0开始,而不是从1开始5.弹出重建完成的村庄时,迭代器it记得加上判断不超过n,因为t为零时永远小于when......
  • NeurIPS 2023 | 清华ETH提出首个二值化光谱重建算法
    前言 本文首次探索了压缩量化在光谱压缩重建领域的应用,提出了该领域首个二值化卷积神经网络BiSRNet,在量化指标和视觉结果上都显著地超越了当前最先进的二值化模型。本文转载自我爱计算机视觉仅用于学术分享,若侵权请联系删除欢迎关注公众号CV技术指南,专注于计算机视觉的技术总......
  • openGauss学习笔记-141 openGauss 数据库运维-例行维护-例行重建索引
    openGauss学习笔记-141openGauss数据库运维-例行维护-例行重建索引141.1背景信息数据库经过多次删除操作后,索引页面上的索引键将被删除,造成索引膨胀。例行重建索引,可有效的提高查询效率。数据库支持的索引类型为B-tree索引,例行重建索引可有效的提高查询效率。如果数据发生......
  • MATLAB时间序列数据重建与平滑:HANTS滤波
      本文介绍在MATLAB中,实现基于HANTS算法(时间序列谐波分析法)的长时间序列数据去噪、重建、填补的详细方法。  HANTS(HarmonicAnalysisofTimeSeries)是一种用于时间序列分析和插值的算法。它基于谐波分析原理,可以从观测数据中提取出周期性变化的信号成分,并进行数据插值和去噪......