摘要: 0.概念 二分算法,顾名思义,就是每一次将区间分成 2 个一样的区间。 三分算法,同样顾名思义,就是每一次将区间分成 3 个一样的区间。 三分算法主要用来求解一些关于单调函数的问题。 而且考试中有一定的几率考到。 二分算法主要用来求一些简单的最值问题,例如在一些一次函数上。 三分算法主要用来求一些凹 阅读全文
posted @ 2025-02-22 17:04 wusixuan 阅读(103) 评论(0) 推荐(0)
摘要: 平衡树分很多种,有 Treap、FHQ_Treap、Splay、sbt、AVL……在竞赛中,FHQ_Treap 和 Splay 较为常用,其余的了解一下即可,这里不详细讲了。 (当然我还会讲一下 BST 和 Treap) 平衡树是一种数据结构,总体实现相较于线段树比较复杂,而且有一些问题使用平衡树和 阅读全文
posted @ 2025-02-21 16:59 wusixuan 阅读(40) 评论(0) 推荐(0)
摘要: 图论的题目并不少见,而且大多以 神秘 闻名。即大部分 ad-hoc 都可是图论。 图的基本定义以及图的基础算法(最短路,最小生成树,lca,DAG……)在这里就不写了。 在此之前,介绍一种 LCA 的新求法,不是大家普通的 tarjan 算法。 1.LCA tarjan 算法 算法介绍 这里给出一种 阅读全文
posted @ 2025-02-05 09:58 wusixuan 阅读(74) 评论(0) 推荐(1)
摘要: 扫描线是一种很常用的 trick,用来计算矩形并周长、并面积。核心思路是使用标记永久化 + 线段树,直接引用朴素的做法,即从某一维度开始扫描并将经过的面积加和。 错误 upd 函数中的汇总不正确,要想好。 可能同样的 y[i] 会导致同样的 yy,因为使用了 map 存储。应当使用 multimap 阅读全文
posted @ 2025-01-16 06:57 wusixuan 阅读(35) 评论(1) 推荐(0)
摘要: upd on 2025/10/27:修了一点 \(\LaTeX\) 的小锅。增加了势能线段树。 本文同步发表于博客园喵。 万字长文 /jk,难免出现一些小疏漏,巨巨巨巨巨巨巨佬们不吝指出。 线段树(Segment tree)是一种用于存储区间信息的二叉树数据结构,主要被用于高效的处理查询和修改操作。 阅读全文
posted @ 2024-12-28 12:17 wusixuan 阅读(257) 评论(0) 推荐(2)