摘要: 题目链接 题目大意:给出一颗含有$n$个结点的树,每个节点有一个颜色。求树中每个子树最多的颜色的编号和。 树上启发式合并(dsu on tree)。 我们先考虑暴力怎么做。遍历整颗树,暴力枚举子树然后用桶维护颜色个数。这样做是$O(n^2)$的,显然会T。我们需要一种更快的算法:树上启发式合并。 关 阅读全文
posted @ 2020-07-17 20:03 我亦如此向往 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 对于询问$[1,n]$的第$k$小数,我们都知道直接上权值线段树就行了。那么对于任意区间的第$k$小数呢? 暴力一点,每次开一颗线段树。空间肯定爆炸。那么此时,主席树便应运而生。 主席树的主要思想就是:保留每次插入操作时的历史版本,以便查询区间第$k$小的数。先说流程。 1.先建一颗空的权值线段树, 阅读全文
posted @ 2020-07-17 19:44 我亦如此向往 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 前言:其实就是主席树板子啦……只不过变成了树上的查询 题目链接 题目大意:求树上$u$到$v$路径第$k$大数。 查询静态区间第$k$大肯定是用主席树。我们知道主席树有着优秀的性质:对于前缀和和树上差分等操作都是满足的。感性理解一下:我们在打主席树板子的时候,每次查询都是$query(rt[l-1] 阅读全文
posted @ 2020-07-17 19:17 我亦如此向往 阅读(121) 评论(0) 推荐(0) 编辑