自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 倍增 ST LCA

的一段区间内的最大值, 则易证 f[i][j] = max(f[i][j - 1], f[i + 2。][j - 1]) , 有点类似二分树(?), 相当于从 [i, i + 2。例如: 给出 n 个数,有 m 次询问,每次输出区间 [x,y] 的最大值。ST 表通过倍增 DP 的方式 O(1) 解决 RMQ 区间最值问题。设 f[i][j] 表示以 i 起始, 长度为 2。- 1] 两个子区间中选出 [i, i + 2。- 1] 和 [i + 2。- 1] 区间的最大值。

2023-08-05 17:02:04 48 1

原创 平衡树()

treap 即 tree + heap , 通过在结点上存放一个随机的索引来避免平衡树在有序输入的最坏情况下变成链表, 而所需的一系列操作则通过类似将树依照某个值 撕开 再 合并 的方式进行。fhq Treap (无旋 treap)

2023-07-31 21:16:32 47 1

原创 树链剖分()

在进行 dfs 的过程中, 优先向重链移动并记录时间戳, 则一条重链上的时间戳必然是连续的, 因此, 通过线段树对连续链区间操作的功能以实现所需的对树操作有了可行性。树链剖分, 就是将树结构剖分成多个不相交的链结构, 再以此结合线段树等对链区间操作的方式以达成对树结构修改的目的, 共有三种。时间戳将一颗树的所有节点进行了连续化, 一个结点子树上的结点的时间戳, 一定大于这个结点自身的时间戳。重儿子: 即一个结点的所有子结点中, 大小 (以它为根节点的子树所拥有的结点个数) 最大的一个。

2023-07-26 19:59:08 48 1

原创 可持久化线段树

用不同版本权值线段树节点信息相减以得到当前某区间信息的树。主席树(可持久化 权值 线段树)常用于解决动态区间第k小问题。

2023-07-24 17:50:49 38

原创 KMP算法 与 字符串哈希

本质上是通过移动待查询子串的相对位置来寻找是否有该子串, 移动的方式则通过Next数组来记录。KMP算法用于在线性时间复杂度内寻找字符串中是否含有某个子串的情况。例如, 寻找s0中s的左端点下标, 若不存在s则输出-1。Next数组中记录的是最大相同前后缀的长度。以及利用KMP算法计算子串数量。

2023-07-22 19:36:47 114 1

原创 博弈论(游戏)

其中 S->S' 表示状态 S 能到达状态 S' , mex 是 minimum excludant 的简称,即第一个未出现的非负整数, 即 S 状态的 SG 值为 (小于此状态所能到达的所有状态的SG值) 的最大值。则可以推知 N-position 状态的SG值必然 >0 , P-position 状态的SG值必然 ==0;对于任何一种可能的状态, 合法的移动集合只取决于这个状态本身, 不取决于何人操作、以前的任何操作、骰子的点数或其他因素。规定了合法的状态转移, 且所有规定对双方一样生效。

2023-07-20 22:00:26 134

原创 二叉字典树(01Trie树)解决最大异或和区间问题

求出最大异或和区间的异或和。

2023-07-07 17:55:50 230

原创 并查集结构

基础并查集(带路径压缩)

2023-07-03 09:28:33 26

原创 最短路径算法

Floyd算法又称为插点法,是一种利用动态规划的思想寻找给定的加权图中多源点之间最短路径的算法。Floyd算法的边权值可正可负,但需要使用。

2023-03-19 12:14:38 25

原创 基础线段树

线段树

2023-02-28 00:39:58 33

空空如也

空空如也

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

TA关注的人

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