随笔分类 -  数据结构--线段树合并

摘要:题目 P5327 [ZJOI2019]语言 分析 线段树合并+树上差分。 首先我们发现答案其实就是:对于每一个点来说的连通块大小之和。 那么现在问题在于怎么来维护这个连通块的大小。 我们可以考虑对每一个点开一个线段树,保存:\(dfn\) 序列对应的点被路径覆盖次数和长度。 然后对于这样一类树上路径 阅读全文
posted @ 2021-05-17 21:02 __Anchor 阅读(53) 评论(0) 推荐(0)
摘要:CF490F Treeland Tour 给出一棵带点权树,求树上最长上升子序列的长度。(这里指路径) 显然路径直接维护不好维护,于是我们可以考虑拆分,拆成一个点作为顶点的两条路径的拼接。 那么我们可以考虑使用值域线段树来维护当前子树中可以以每一个值作为结尾(或开头)的最长的子段和的大小。 两棵线段 阅读全文
posted @ 2021-04-16 21:19 __Anchor 阅读(109) 评论(0) 推荐(0)