C
有一棵树,每次操作将一个点染成黑色,每次询问查询一个点最近的黑点有多远。
有两种暴力:
- 对于一个被修改为黑色的点,\(BFS\) 给所有点更新。
- 对于一个所求点,和所有黑色点求 \(LCA\) 求最小值。
根号分治。对操作序列分块。
对于本块之前的的黑点,把所有修改多源 \(BFS\), 复杂度 \(O(n)\)
对于本块之内的黑点,直接 \(Tarjan\) 求 \(LCA\) 即可。复杂度 \(O(n)\).
复杂度 \(O(n\sqrt{n})\).
标签:总结,黑点,复杂度,BFS,本块,LCA,2022.10 From: https://www.cnblogs.com/Simon-Gao/p/16771779.html