最短路 + 可持久化并查集.
- 假设有一个新图,只保留当前没有积水的边,那么一个连通块内的点都可以用车直接到达.
- 询问出发点为 $v$ 时的答案,就是询问新图中 $v$ 所在联通块内的点到 $1$ 号节点的最短距离.可以先用 $Dijkstra$ 预处理出每个点到 $1$ 的距离.
- 如果不强制在线,可以将询问离线后按水位线从高到低排序,这样在新图中就只有加边的操作,直接用并查集维护联通情况以及联通块的答案.
- 强制在线的话,就换成可持久化并查集 (用主席树维护 $fa$ ) ,将边从大到小排序依次加入并更新联通块信息.询问时根据高度二分找到对应的版本,然后回答询问即可.
1 |
|