09 2022 档案

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

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