摘要: 简介 李超线段树是一种支持添加函数和维护单点最值的数据结构 主要维护方法:懒标记+单侧递归下穿 思路 以P4097 【模板】李超线段树 / [HEOI2013] Segment为例 修改 我们考虑每个节点维护一个懒标记,表示在中点时取值最大的直线 这个懒标记显然是不能代表整个区间的,因此我们需要向下 阅读全文
posted @ 2026-10-30 22:52 Rainesxiao 阅读(4) 评论(0) 推荐(0)
摘要: 简介 Treap(树堆)是一种 弱平衡 的 二叉搜索树. Treap 的结点除了被维护的 权值()之外,还附加了一个随机的 优先级().其中,权值满足二叉搜索树性质,优先级满足堆性质(小根堆或大根堆). 其中,二叉搜索树的性质是指: 左子树所有节点的权值()比父节点小. 右子树所有节点的权值()比父 阅读全文
posted @ 2026-10-30 22:51 Rainesxiao 阅读(4) 评论(0) 推荐(0)
摘要: 介绍 我们知道,线段树能够通过打标记实现区间修改的条件有两个: 能够快速处理标记对区间询问结果的影响 能够快速实现标记的合并 但有的区间修改不满足上面两个条件(如区间开方,区间取模等) 但某些修改存在一些奇妙的性质,使得序列每个元素被修改的次数有一个上限 可以在线段树每个节点上记录一个值,表示对应区 阅读全文
posted @ 2026-10-30 22:51 Rainesxiao 阅读(4) 评论(0) 推荐(0)
摘要: ​P1272 [USACO02FEB] 重建道路 思路 简单题,设 \(f_{u,j}\) 代表 \(u\) 子树,联通块大小为 \(j\) 的最小删边数,那么有 \(f_{u,i+j}=min_{v \in son(u)}(f_{u,i}+f_{v,j}-1)\)(将两块合一起可以少减 \(u- 阅读全文
posted @ 2026-10-30 14:55 Rainesxiao 阅读(3) 评论(0) 推荐(0)
摘要: P2056 [ZJOI2007] 捉迷藏 解析 首先距离问题+加修改,我们可以很容易的想到点分树,考虑怎么维护 经过一个重心的最大距离等于最大的两条不相交链之和,因此我们维护两个值,\(nmx_u\) 表示最长的不相交链,\(fmx_u\) 表示子树中到父亲的最长链(对于父亲来说也就是单个子树的最长 阅读全文
posted @ 2026-10-30 14:55 Rainesxiao 阅读(3) 评论(0) 推荐(0)
摘要: P3694 邦邦的大合唱站队 解析 设 \(f_s\) 为将 \(s\) 中的乐队排列好的变化人数,那么对于一个固定的 \(s\),它占的位置应该是固定的,我们记为 \(len=\sum_{t\in s} cnt_t\),然后我们设 \(a_{i,j}\) 为 \(j\) 的前缀和,那么有 \(f_ 阅读全文
posted @ 2026-10-30 14:54 Rainesxiao 阅读(2) 评论(0) 推荐(0)
摘要: A 解析 首先可以肯定的是一定有一种答案的d是小于m的 那么一种合法的匹配方式就是一个A的长为d的后缀和一个B的长为d的前缀匹配,一个A的后缀与B的前缀匹配,如图(实线为n个串,虚线为前后缀) ,那么对于一个固定的d,我们可以用哈希把一样的串压成一个点,然后连A的前缀->后缀,B的后缀->前缀,如果 阅读全文
posted @ 2026-10-30 14:54 Rainesxiao 阅读(1) 评论(0) 推荐(0)
摘要: 简介 线段树最重要的操作就是 pushup 和 pushdown,对于一类问题,光凭当前节点的信息无法合并,需要用到它的子节点的信息才能合并,这就是线段树单侧递归问题,时间复杂度一般是 \(O(nlog^2n)\) 。 通常解决区间前缀最值问题 例题 我们先将楼转化成斜率,那么这道题相当于求前缀最大 阅读全文
posted @ 2026-10-30 14:54 Rainesxiao 阅读(2) 评论(0) 推荐(0)
摘要: P16702 [MCO 2026] 雨水收集 解析 我们令 \(L_i=max_{j=l}^i h_j\),\(R_i=max_{j=i}^{r} h_j\) 由于 \(max(L_i,R_i)=max_{j=l}^rh_j\) 为定值,那么考虑转化:\(\sum_{i=l}^r min(L_i,R 阅读全文
posted @ 2026-10-30 14:54 Rainesxiao 阅读(3) 评论(0) 推荐(0)
摘要: CF1451D Circle Game 由于有对称性,所以前一个人无论从对称轴出发怎么走,当前的人都可以用一步操作回到对称轴上,所以最优策略就是在对称轴上走,至于胜负就是看最后一个对称轴上的点能否继续走 AT_agc010_c [AGC010C] Cleaning 经过一个节点的路径分为两种,祖先到 阅读全文
posted @ 2026-10-30 14:54 Rainesxiao 阅读(2) 评论(0) 推荐(0)