首页 > 其他分享 >高级数据结构学习笔记

高级数据结构学习笔记

时间:2023-11-09 17:34:01浏览次数:49  
标签:动态 持久 前缀 线段 高级 笔记 二维 数组 数据结构

0. 普适技巧

  • 动态开点:节省空间。

  • 标记永久化:分块的块标记本质就是这个。可以节省空间。


1. 区间最值 & 历史区间最值

link


2. 二维线段树

  • 二维区间静态:二维 ST 表

  • 二维前缀动态:二维树状数组

  • 二维区间动态:二维线段树

例题:Luck and LoveP3157 [CQOI2011] 动态逆序对


3. 可持久化线段树

可持久化的本质是对每一次操作的前缀和数组。而主席树则是一个数列上的权值前缀和数组,可用于解决区间权值问题。

例题:


4. 线段树分裂 & 合并

link

标签:动态,持久,前缀,线段,高级,笔记,二维,数组,数据结构
From: https://www.cnblogs.com/David-Mercury/p/17822369.html

相关文章

  • 数据结构的两个层次
    逻辑结构:描述数据元素之间的逻辑关系与数据的存储无关,独立于计算机是从具体问题抽象出来的数学模型 2.物理结构(存储结构)数据元素及其关系在计算机存储器中的结构(存储方式)是数据结构在计算机的表示 关系:存储结构是逻辑关系的映象与元素本身的映象逻辑......
  • 信息安全系统设计与实现——学习笔记9
    任务详情:自学教材第5章,提交学习笔记Part1知识点归纳&GPT提问知识点归纳1.信号和中断信号:发给进程的请求,将进程从正常执行转移到中断处理。中断:是从I/O设备或协处理器发送到CPU的外部请求,它将CPU从正常执行转移到中断处理。终端主要有以下几种类型人员中断进程中断硬件......
  • 《代码整洁之道》阅读笔记(一)
    第一部分:代码质量的重要性与良好的编码风格第一部分深入探讨了代码整洁之道的核心思想:代码质量和良好的编码风格。这一部分为我提供了一个深刻的认识,即写出高质量的代码不仅是开发者的技能,更是一种责任。作者强调了代码是一种沟通工具,不仅是为计算机执行而编写的。这一部分详细......
  • apktool使用笔记-与系统不兼容
    apk重新打包后,新的android版本手机报"与系统不兼容"尝试更新apktool.jar,2.6更新到2.9,还是一样的情况网上搜索下相关的问题,可能原因是签名方式,以及对齐问题下载android-sdk,获取相关工具,这种功能很少,只能从sdk获取从sdk,jre复制相关文件过来,其中一个bat......
  • MySQL 学习笔记--引擎
    在缺省情况下,MySQL支持三个引擎:ISAM、MyISAM和HEAP。另外两种类型InnoDB和Berkley(BDB),也常常可以使用。ISAMISAM是一个定义明确且历经时间考验的数据表格管理方法,它在设计之时就考虑到数据库被查询的次数要远大于更新的次数。因此,ISAM执行读取操作的速度很快,而且不占用大量的内存......
  • CXF学习笔记(2)-HelloWorld!-客户端调用
    上一节中已经成功的发布了一个服务端webservice,这一部分将默认客户端调用webservice这里我们重新建立了一个新的工程CXF-Client,把上一节中列举的jar包都搞过来即可,调用方式采用了和RMI类似的机制,即客户端直接服务器端提供的服务接口(interface),CXF通过运行时代理生成远程服务......
  • CXF学习笔记(1)-HelloWorld!-发布webservice
    1.apache网站下载CXF http://cxf.apache.org/download.html 最新版本2.4.12.创建一个java工程,将以下jar包复制到工程的classpath下 所有的jar包都可以在${CXF_HOME}\lib目录中找到3.定义服务接口HelloWorldService因为这个接口将会被我们暴露为webservice,所以给该......
  • MySQL 学习笔记--架构
    1、MySQL服务器逻辑架构图:第一层:该服务并不是MySQL所独有的,大多数基于网络的客户端/服务器的工具或者服务都有的类似的架构。比如连接处理、授权认证、安全等等。第二层:MySQL的核心服务功能,包括查询解析、分析、优化、缓存以及所有的内置函数(日期、时间、加密),所有跨存引擎的功能都......
  • kafka第三天学习笔记
    在第三天学习Kafka中,你可能会遇到一些关于Kafka的核心概念和特性的深入讨论。以下是一些可能的学习点:Kafka的设计理念:Kafka的设计理念是“发布-订阅”模型,允许消费者根据其需求从多个生产者那里接收消息。这种模型使得Kafka能够以高吞吐量和可扩展的方式处理实时数据流。Ka......
  • 阅读笔记:《软件需求分析》笔记一
    软件需求分析是软件开发过程中至关重要的一环,它为项目的成功奠定了坚实的基础。通过对软件需求分析的学习和思考,我深刻地认识到了其在软件开发中的重要性以及如何有效地进行需求分析。首先,我认为软件需求分析是软件工程的关键步骤之一,因为它直接关系到软件项目的成败。在需求分析......