P9534

非常有意思的一道题

题意是给定一张图和它的bfs树,求一种可能的边的输入顺序。

首先想这张图的bfs树为什么是这个,考虑那些非树边,如果这些边连接的两个点深度之差大于1,那么那个上面的点必定会先访问下面那个点,与题目矛盾。所以如果边连接的两个点深度相同,那么两个点必定在相同时间被访问到,不存在先后关系。所以要讨论的只有两个点深度之差等于1的情况。思考为什么没有通过这条边,(记上面的点为x,下面的点为y)那是因为在遍历到x时,y已经被访问过了,为什么会这样呢,那是因为在vector里,lca(x,y)的包含y的子树的连边比包含x的子树的连边输入的早。所以就可以搞出一个边之间输入顺序的拓扑序,然后就这样搞就行了。

posted @ 2024-04-02 20:37  wuhupai  阅读(5)  评论(0编辑  收藏  举报