摘要: 一、引入 “在一棵树上进行路径的修改、求极值、求和”乍一看只要线段树就能轻松解决,实际上,仅凭线段树是不能搞定它的。我们需要用到一种貌似高级的复杂算法——「树链剖分」。 树链剖分(简称树剖),顾名思义,将一棵树划分成若干条进行处理,分为「重链剖分」和「长链剖分」,通常会搭配数据结构使用(如树状数组、 阅读全文
posted @ 2024-10-26 10:57 lunjiahao 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 一、前言 & 基本理论 来自笔者的肯定:最容易理解且比较好写的平衡树(不过就是常数有点大了),可能是笔者花了较长的时间去理解旋转 Treap 和 Splay 的旋转吧()。 FHQ 不仅比旋转法编码简单,而且能用于区间翻转、移动、持久化等场合。——《算法竞赛》 FHQ_Treap 的所有操作都只用到 阅读全文
posted @ 2024-10-26 10:56 lunjiahao 阅读(6) 评论(0) 推荐(0) 编辑