随笔分类 - Data Structure --- 线段树合并
摘要:题面 题解 CF1327F AND Segments + 整体 dp。 首先预处理 \(\mathrm{pre}_i\) 表示向上最深的 \(f(e) = 1\) 的边的深度最小值。 设 \(f_{i, j}\) 表示当前在点 \(i\),最深的 \(f(e) = 1\) 的深度为 \(j\) 的方
阅读全文
摘要:"题面" 题解 考虑一个数字被取到最小值的概率怎么算。 由于一个节点最多只有 $2$ 个儿子,所以 $x$ 出现的概率 $a_x$ 分为两个部分,一个作为最大值,另一个即作为最小值。 以计算这个点作为最小值出现的概率为例,这个概率就是这个数在这棵子树内出现的概率 $a_x'$ 乘以另外一棵子树中取到
阅读全文
摘要:"题面" 题解 线段树合并 我们看到这道题目首先可以想到树上差分,然后$dfs$合并 发现题目让我们求的东西很好用线段树维护 于是可以想到线段树合并 ~~全世界只有我写指针版动态开点线段树(大雾~~ 如果你要写指针版,请开内存池,~~new又耗时又浪费空间~~ 代码 cpp include incl
阅读全文