首页 > 编程语言 >2024-8-7 算法学习

2024-8-7 算法学习

时间:2024-08-08 17:39:53浏览次数:6  
标签:rt 学习 反转 tr 分裂 2024 merge 算法 size

P6136 【模板】普通平衡树(数据加强版)
题意:
1,插入一个数;
2,删除一个数
3,查询一个数的排名
4,查询第x个数
5,查询x的前驱和后继
重点在于分裂split和合并merge操作:
1:分裂为X[0,x],Y[x+1,n],后rt=merge(X,x,Y)
2:分裂为X[0,x-1],Y[x,x],Z[x+1,n] 后Y=merge(Y.l,Y.r),后rt=merge(X,Y,Z);
3:分裂为X[0,x-1],Y[x,n] ans=tr[X].size+1; 后rt=merge(X,Y);
4:p=rt,若tr[tr[p].l].size+1==x p为答案 若tr[tr[p].l].size>=x,则p=tr[p].l,不然x-=tr[tr[p].l].size+1,p=tr[p].r;
5:前驱 :分裂为X[0,x-1],Y[x,n],然后p=X 不断向右寻找。后继同理

P3391 【模板】文艺平衡树
题意:给定一个有序数列,每次对数列的一段区间进行反转操作
对一段数进行反转相当于对一棵树进行反转(再中序遍历下),利用FHQ Treap,每次将一颗树拆开[0,l-1],[l,r],[r+1,n]的三部分,对[l,r]进行反转。注意要打懒标记,不然复杂度过高。

标签:rt,学习,反转,tr,分裂,2024,merge,算法,size
From: https://www.cnblogs.com/zhang-mian/p/18349395

相关文章

  • Task2 - IDA学习【进度 - 第二课】
    学习目标:-无名侠的课,看二进制培训(第二集和第三集)(https://space.bilibili.com/7761039/video)-会反汇编-会字符串搜索(f12)-会简单异或解密了解一下操作系统linux系统的可执行文件的后缀windows系统的可执行文件的后缀了解安装die(DetectItEasy)......
  • 卷积神经网络--卷积层(斯坦福李飞飞学习笔记)
    卷积核对于图像分类任务,常见的卷积核(kernel)大小可以是3x3、5x5个像素点注意一下词汇的辨析:kernel是二维的,也就是每一层的卷积核大小;filter表示的是三维的,所以可以看到ppt里面的filter展示的是5*5*3,因为kernel的大小是5*5,同时放入的图像是RGB类型,总共3个像素层,所以三维的filt......
  • Java学习进程6
    大家好!这是我学习Java的第六周,今天我想和大家分享一下这一周我所做的事情、下周的计划、遇到的问题以及如何解决这些问题。本周学习内容在这一周,我继续深入学习Java语言的核心概念,特别是对面向对象编程(OOP)的理解。我复习了类和对象的定义,同时也对封装、继承和多态这三个重要概念......
  • paxos算法详解
    1分布式一致性:共识算法对于一个分布式系统来说,保障集群中所有节点的数据完全相同(即一致性)是很重要的,随着多节点的引入,这影响的是整个分布式系统对外服务的表象一致性。也就是说,一个分布式系统想要做到完全的一致性,需要对外表现为顺序一致性,即各个节点上的操作顺序都一致。而在......
  • VB.NET钢琴MIDI简谱播放器代码QZQ2024-8-7
    ImportsSystem.Runtime.InteropServicesPublicClassForm1'义WindowsAPI函数<DllImport(“winmm.dll”)>PrivateSharedFunctionmidiOutGetNumDevs()AsIntegerEndFunction<DllImport("winmm.dll")>PrivateSharedFunctionmidiOutGet......
  • 【Python机器学习】利用AdaBoost元算法提高分类性能——基于单层决策树构建弱分类器
    单层决策树(也称决策树桩)是一种简单的决策树。它基于单个特征来做决策,由于这棵树只有一次分裂过程,因此它实际上就是一个树桩。在构造AdaBoost代码时,首先通过一个简单数据集来确保在算法上一切就绪:fromnumpyimport*defloadSimpData():datMat=matrix([[1.0,2.1],......
  • 机器学习算法之一 线性回归
    1.线性预测函数定义左侧为真实值,右侧为预测值与误差的和,其中为权重矩阵。2.目标函数的推导2.1高斯分布函数误差符合独立同分布假设,服从均值为0的高斯分布:将线性函数带入,得:......
  • 机器学习的数学基础--向量,矩阵
    机器学习与传统编程的一个重要区别在于机器学习比传统编程涉及了更多的数学知识。不过,随着机器学习的飞速发展,各种框架应运而生,在数据分析等应用中使用机器学习时,使用现成的库和框架成为常态,似乎越来越不需要数学知识了。其实,现成的库和框架只是帮助我们简化机器学习的开发任务,如......
  • 20240808题解
    话说T2写了个动态树结果考场调不出来,这下大炮打蚊子了。森林(forest)题面:符合条件的森林中深度相同的点度数相同,\(1\lei\len\),求点数为\(i\)的符合条件的森林的种类数。题解:将森林中每一个根节点连到同一个节点上变成一棵树。令\(f(i)\)表示符合条件的树的种类数,那么\(f(i......
  • 文心一言 VS 讯飞星火 VS chatgpt (320)-- 算法导论22.3 12题
    十二、证明:我们可以在无向图G上使用深度优先搜索来获得图G的连通分量,并且深度优先森林所包含的树的棵数与G的连通分量数量相同。更准确地说,请给出如何修改深度优先搜索来让其给每个结点赋予一个介于1和k之间的整数值v.cc,这里k是G的连通分量数,使得u.cc=v.cc当且仅当结点u和结......