Link
Solution 树链剖分套主席树
先不管颜色的限制 形式化条件:(为到根节点的距离) 可以把和都提出来,答案就变成了计算 也就是到根节点路径的交集。这个可以通过先把每个点到根节点的路径都覆盖一遍,查询时候只需要统计出即可。可以通过线段树实现。其中标记永久化的处理非常有意思。 套上了颜色的限制,就仿照序列主席树的做法,把点按照颜色排序,顺序依次覆盖。 空间上界是的,但是似乎跑不满。 时间是,常数小,跑得非常快。
Code
1 |
|
Solution 点分治
这个做法比较显然,保留分治结构,用vector记录按照颜色排序之后的前缀和。查询时二分查找。 时间,空间。然而常数非常大
Code
1 |
|