首页 > 其他 > 详细

342 E. Xenia and Tree

时间:2020-07-30 14:58:24      阅读:75      评论:0      收藏:0      [点我收藏+]

题意:
给定一棵树,初始时\(1\)号节点是红色的,要求支持两个询问:

  1. 将某个节点变为红色.
  2. 询问某个节点离它最近的红色节点距离.

题解:
对询问分块,假设块大小为\(B\).
每完成一个块后,用多源BFS更新每个节点离它最近的红色节点距离,复杂度为\(O(\dfrac{nm}B)\).
对每个操作\(2\),遍历块内所有在其之前的\(1\)操作对应结点,使用树上倍增求距离,复杂度为\(O(Bn\log n)\).
由均值不等式可得复杂度为\(O(n\sqrt{m\log n})\).
代码

342 E. Xenia and Tree

原文:https://www.cnblogs.com/Heltion/p/13403279.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!