自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 斜率优化/单调队列入门

什么是斜率优化?什么时候用?首先,我们要知道的一个知识是单调队列(虽然不一定能用,但基本上一定要用)单调队列是维护一段有序子序列而存在的。想象一下,一些参差不齐的积木们,如何从一个积木找到其左边的第一个比他大的积木?一种方案是线段树维护区间信息,单log另一种是单调栈。如果说一个积木在另一个积木右边并且比他更大一些,那是不是意味着没有“另一个”积木没有用了,应该扔掉?那么留下来的积木是什么样的?有序的,从大到小的。好了,基本思想介绍到这,不会单调队列的自行学习。

2023-11-14 22:07:27 38

原创 平衡树Treap入门

平衡树,维护的是两个性质,每个节点有两个权值,第一个是它的值val,第二个是你赋予它的一个随机权值rand。堆:任何结点的父节点的 rand 都大于 (等于)ororor 小于(等于)它的rand二叉搜索树:一个结点左孩子(如果有)的 val 大于它的 val ,右孩子(如果有)的 val 大于它的 val。一,旋转操作旋转操作的核心是,在不破坏除了当前旋转两点的堆性质,所有节点满足二叉搜索树的情况下,将一个结点旋到其父节点的位置上。本人很懒,借用一下这篇博客的图这是一个左旋操作:将A的左孩

2021-10-10 11:41:16 123

原创 树链剖分板子的详解

前置知识:基础求和线段树 + 树上操作 + dfs (废话)一. 什么是树链剖分?树链剖分,将一棵树分成多条链然后摆在一起用线段树维护区间和。二. 基础概念有什么重儿子:一个结点的儿子中子树节点数最大的那一个就是他的重儿子轻儿子:一个结点中不是他的重儿子的儿子都是他的轻儿子(叶子节点没有轻儿子 or 重儿子)重(zhong)边:连接两个重儿子的边轻边:重边除外的边链:树上任两点的简单路径重链:链上的点都为重儿子的链三 . 需要的属性树映射到数组里某结点的新位置,新位置对应的树上

2021-07-31 14:14:45 206

原创 2021-07-30

前置知识:基础求和线段树 + 树上操作 + dfs (废话)一. 什么是树链剖分?树链剖分,将一棵树分成多条链然后摆在一起用线段树维护区间和。二. 基础概念有什么重儿子:一个结点的儿子中子树节点数最大的那一个就是他的重儿子轻儿子:一个结点中不是他的重儿子的儿子都是他的轻儿子(叶子节点没有轻儿子 or 重儿子)重(zhong)边:连接两个重儿子的边轻边:重边除外的边链:树上任两点的简单路径重链:链上的点都为重儿子的链三 . 需要的属性树映射到数组里某结点的新位置,新位置对应的树上

2021-07-30 18:35:36 72

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除