Static Query on Tree (述链剖分+线段树)(2022杭电多校)

题意:

给定一棵树,nn 个结点。根为 11,所有的结点只能走向其父亲结点。

有 qq 次询问,每次询问给出 33 个结点集合 A,B,CA,B,C。问树上有多少点满足如下条件:

  • 该点可以从集合 AA 中的至少一个结点到达。
  • 该点可以从集合 BB 中的至少一个结点到达。
  • 该点可以到达集合 CC 中的至少一个结点。

题解;

  • 对于 A,B, 就是当前节点到根节点的所有点
  • 对于C, 就是C 的所有 儿子节点
  • 利用树剖+线段树解决

后记:

  • 好久没用线段树了, 线段树功能强大,一般要用 lazy 优化(能区间返回就区间返回)
posted @ 2022-09-06 09:00  VxiaohuanV  阅读(26)  评论(0编辑  收藏  举报