09 2022 档案
发表于 2022-09-28 09:31阅读:114评论:0推荐:1
摘要:K-D Tree (K - Dimension Tree),是一种用来解决 维空间信息的数据结构;一般在 OI 竞赛中,以 为多 K-D Tree 实际上是一个二叉搜索树;而为了让复杂度尽量优(注意,K-D Tree 在某些问题可以被卡成暴力的复杂度),我们会让树高尽可能的小,因
阅读全文 »
发表于 2022-09-22 09:48阅读:18评论:0推荐:0
摘要:引入: 差分约束是来解决以下这一类问题: 给出多个 的限制,求一组 的合法方案 那么我们就可以从 向 连出一条边长为 的有向边 跑一次最短路,就能得到最小的合法方案 如果出现负环,则是无解 代码 进阶: 题意: 个
阅读全文 »
发表于 2022-09-18 22:00阅读:41评论:0推荐:0
摘要:~~之前一直觉得这个算法没啥实际用处,现在才知道是我错了~~ 推荐一下这位大佬的博客,让我很好理解了 WQS 二分 这类二分通常用来解决这类问题: 个数,要求恰好选 个,问最大/小和 而这类二分也有一些比较严苛的条件要求: 令 为恰好选 个数的最优方案,那么必须有
阅读全文 »
发表于 2022-09-16 15:22阅读:16评论:0推荐:0
摘要:T1 思路 看到绝对值,就应该要想到正负性 假如只用算一种代价,显然要不都取最大的正数,要不取最小的负数 于是我们考虑每次给 分别取正负,加起来从大到小排序,取前 个数 一共有 种分类,每次做完都取最大值即可 代码 #include<iostream> #in
阅读全文 »
发表于 2022-09-16 10:10阅读:31评论:0推荐:0
摘要:因为上年 CSP-S 考了,但我并不会建树,于是今年初赛前来学学(虽然出的概率是微乎其微的了) 笛卡尔树满足两个条件: 它是一棵二叉搜索树 它是一个小根堆 若树上每个结点都有一个键值二元组 ,那么关于 满足二叉搜索树的性质;关于 满足小根堆的性质 现在考虑建树过程: 我
阅读全文 »
发表于 2022-09-14 11:08阅读:90评论:0推荐:0
摘要:这个算法是用来解决:求图上两点的路径,最大/小的边的相关信息 例题引入: 传送门 在之前学习 MST 中,我们了解到,当用 kruskal 生成一棵 MST,它同时满足为瓶颈生成树(即使最小化最大边) 因此我们可以在 MST 找出询问点 的路径,求最大边 但这个似乎不太优秀(?那就用
阅读全文 »
发表于 2022-09-13 10:30阅读:36评论:0推荐:0
摘要:学习笔记 LCT,是一个强大的数据结构,通常用来维护动态森林的一些操作 我们将原树剖分成多条实链,满足每个实链内的点在原树的深度是严格递增的,每个实链用一个 splay 来维护 每个结点到其子结点最多只有一条是实边,其余的都是虚边,保证每个结点只在一个 splay 中 每个 splay 的根节点指向
阅读全文 »
发表于 2022-09-12 21:21阅读:94评论:0推荐:0
摘要:LCT 的前置知识: splay 是一种二叉搜索树,满足中序遍历是原序列,支持区间插入、删除、查询等操作 基本操作:旋转 进阶操作:双旋 顺链:先父亲再自己 折链:先自己再父亲 可证明双旋复杂度是均摊 的 初始化:先建一个 -INF 和一个 INF 结点 查找 的
阅读全文 »
发表于 2022-09-05 16:21阅读:86评论:0推荐:0
摘要:很少打 AT 的比赛,结果 都想不出来, 差点被踩爆,还是太菜了诶 A 题意: 的序列,每次拿出最大的数 和最小的数 ,将 ,如果等于零,则删除。问需要多少次序列只剩一个元素 思路: 用 multiset 维护序列
阅读全文 »