【题解 && 树上启发式合并】算法杂交详解 Lomsat gelral
前言
1、什么是树上启发式合并?
Dsu on tree(树上启发式合并) 用来解决这样一类问题:统计树上一个节点的子树中具有某种特征的节点数。 例如例题中的子树 x 中颜色为 c 的个数。
2、如何实现?
我们借鉴树链剖分的思想,先对树进行树链剖分,处理出重儿子、轻儿子等数组。
而后我们就需要用这些数组对暴力进行优化(就是启发式合并!)
对于常规的套路,我们枚举到每一颗子树时,用桶暴力查询,查询完之后再暴力撤销,但是这样的时间复杂度显然不够优秀。
考虑优化。
我们处理到一棵子树以后,优先遍历轻儿子,然
原创
2020-08-18 20:58:20 ·
458 阅读 ·
6 评论