题意:
给定有根树,每个节点都有一个颜色,支持询问:
- 给定整数\(k\)和节点\(v\),询问出现在至少\(k\)个\(v\)的子树节点的颜色的数量.
题解:
方法1
根据DFS序变成序列问题使用莫队算法求解,复杂度为\(O(n^\frac32\log n)\).
方法2
使用启发式合并,维护两个map,一个map存储每种颜色出现次数,另一个map存储答案列表.
复杂度为\(O(n\log^2n)\).
方法2代码
题意:
给定有根树,每个节点都有一个颜色,支持询问:
题解:
方法1
根据DFS序变成序列问题使用莫队算法求解,复杂度为\(O(n^\frac32\log n)\).
方法2
使用启发式合并,维护两个map,一个map存储每种颜色出现次数,另一个map存储答案列表.
复杂度为\(O(n\log^2n)\).
方法2代码