09 2024 档案

摘要:正在收集…… 阅读全文
posted @ 2024-09-25 17:37 zxh923 阅读(8) 评论(0) 推荐(0) 编辑
摘要:LCT,全称 Link Cut Tree,可以解决动态树问题。 首先要知道一条虚边连接了 2splay,而这些 splay 构成了 LCT。 动态树(LCT) isroot 操作 如果一个点不是根,则考虑它既不是父亲的左儿 阅读全文
posted @ 2024-09-18 20:04 zxh923 阅读(19) 评论(0) 推荐(0) 编辑
摘要:边双连通分量 我们首先定义两种边:返祖边为从一个点指向其祖先的边;横叉边从某个点指向树中另一个子树中的点的边。两者统称为非树边。而剩下的边即为树边,树边也就是再搜索树上的边。 考虑设 dfni 为点 i 是第几个被搜索到的,lowi 表示点 i 通过走若干条边之后 阅读全文
posted @ 2024-09-13 16:58 zxh923 阅读(12) 评论(0) 推荐(0) 编辑
摘要:强连通分量 我们首先定义两种边:返祖边为从一个点指向其祖先的边;横叉边从某个点指向树中另一个子树中的点的边。两者统称为非树边。而剩下的边即为树边,树边也就是再搜索树上的边。 我们定义 dfnii 是第几个被 dfs 到的,lowii 出发走任意 阅读全文
posted @ 2024-09-13 09:23 zxh923 阅读(12) 评论(0) 推荐(0) 编辑
摘要:全源最短路模板 Floyd 我们设 fi,j 表示 ij 的最短路,于是我们枚举中转点 k,就有 fi,jmin(fi,j,fi,k+fk,j)。 于是简单枚举一下进行转移即可,时间复杂度 \(O(n^ 阅读全文
posted @ 2024-09-12 11:49 zxh923 阅读(9) 评论(0) 推荐(0) 编辑
摘要:普通平衡树 我们这里着重介绍一下 fhq treap。 首先我们会用一个结构体存下平衡树的节点。这道题中需要存左右儿子编号,优先度(随机的一个值),点上存的数是多少,子树中有多少数。我们记作 l,r,rd,da,siz。 接下来我们一个一个讲解函数: newnode 阅读全文
posted @ 2024-09-11 21:38 zxh923 阅读(21) 评论(0) 推荐(0) 编辑
摘要:可持久化线段树 看这个。 可持久化字典树 最大异或和 考虑设 sa 的前缀异或和数组,我们最终的答案就是找一个 p[l1,r1],然后求出 snxorxxorsp。 首先,对于最大异或 阅读全文
posted @ 2024-09-11 08:30 zxh923 阅读(5) 评论(0) 推荐(0) 编辑
摘要:左偏树 可以发现左偏树的别名叫可并堆,就是可合并的堆。于是我们的主要操作便是合并。 我们定义外节点为左儿子或右儿子至少有一个为空的节点。我们定义外节点的 dist1,其余点的 dist 为到其子树内最近的外节点的距离加上 1。 左偏树是一棵二叉树,首先其具有堆的 阅读全文
posted @ 2024-09-09 20:26 zxh923 阅读(7) 评论(0) 推荐(0) 编辑
摘要:消耗战 首先考虑朴素 dp,设 fu 表示使 u 的子树内的所有关键点都不与 u 连通的最小代价。如果当前在 uj 这个儿子是关键点,那么有转移 fufu+valuj;否则有转移 \( 阅读全文
posted @ 2024-09-09 11:57 zxh923 阅读(13) 评论(0) 推荐(0) 编辑
摘要:可持久化线段树 注意,它的全称为可持久化权值线段树。 例题 1:可持久化线段树 首先我们考虑几个暴力: 对于每次询问,找出区间中的所有数,直接排序求第 k 小。这样做的时间复杂度为 O(nqlogn) 的。 对于每次询问,建出一棵权值线段树,然后权值线段树上二分查找即可。 阅读全文
posted @ 2024-09-06 15:48 zxh923 阅读(16) 评论(0) 推荐(0) 编辑
摘要:扩展 KMP/exKMP(Z 函数) 首先我们求出 ne 数组。代表 bb 的每一个后缀的最长公共前缀长度。 我们设当前要求 nex,且 k 为使得 p=k+nek1 最大的位置且 0k<x,同时 p 为 \(k+n 阅读全文
posted @ 2024-09-04 20:58 zxh923 阅读(10) 评论(0) 推荐(0) 编辑
摘要:Rudolf and the Ticket 算法:枚举。 题意简述:从 a 数组中和 b 数组中各选出一个数,使得它们的和不超过 k,求选法数量。 考虑直接枚举每一种可能的搭配即可。 Rudolf and 121 算法:贪心。 题意简述:定义一次操作为,该位置上的数减去 \( 阅读全文
posted @ 2024-09-04 20:58 zxh923 阅读(8) 评论(0) 推荐(0) 编辑
摘要:Sakurako's Exam 算法:模拟,分类讨论。 题意简述:给 a 个数字 1b 个数字 2,问能否在每个数字前加上加减号使得原始值为 0。 考虑 1 的个数如果是奇数,那么一定不行。否则如果 2 的个数是偶数,一定可以。当 \(2 阅读全文
posted @ 2024-09-02 11:05 zxh923 阅读(36) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示