01 2025 档案

摘要:简介 通过定义势能函数 ϕ(i) 去描绘整个序列的势能从而推导正确的复杂度。 例题 P4145 上帝造题的七分钟 2 / 花神游历各国 典。 设 ϕ(i) 表示第 i 个元素的势能。 一个元素不停的开根一定会变成 1,不妨将元素 x 改写成 \(2 阅读全文
posted @ 2025-01-16 22:29 end_switch 阅读(1) 评论(0) 推荐(0) 编辑
摘要:简介 李超线段树通常维护两个操作: 插入一个一次函数 查询直线 x=k 处的先前插入的函数最值 流程 插入 考虑因为插入的都是直线,所以函数在区间 [L,R] 具有单调性。 李超线段树维护的叫做最优势线段,也就是线段树上区间 [L,R],维护的是取 \(mid = \ 阅读全文
posted @ 2025-01-16 20:55 end_switch 阅读(1) 评论(0) 推荐(0) 编辑
摘要:简介 将多棵线段树的信息统一起来的高效算法称之为线段树合并。 通常合并顺序呈树状结构。 例题 P3224 [HNOI2012] 永无乡 假设所有点都在一个连通块里,那么我们只需要维护一个值域线段树并在上面二分即可。 但此时图不连通,我们该如何快速的统计信息呢? 对于连边,并查集可以胜任。 对于信息的 阅读全文
posted @ 2025-01-16 20:11 end_switch 阅读(4) 评论(0) 推荐(0) 编辑
摘要:简介 基于分裂与合并的 Treap。 基本操作 split 分裂 按权值分裂: inline void split(int p, int k, int &x, int &y) {// p 表示当前分裂树的根节点,x,y 表示分裂成的两棵树的根节点,k 为关键字 if(! p) return x = 阅读全文
posted @ 2025-01-12 20:08 end_switch 阅读(4) 评论(0) 推荐(0) 编辑

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