树与图的深度优先遍历:
树与图的深度优先遍历能确定树的DFS序、深度和重心
树与图的广度优先遍历
图的广度优先遍历能确定有向无环图的拓扑排序:
可达性统计
题目提到了有向无环图,可以尝试拓扑排序的思路。拓扑序列topA有个很好的性质:对于每一条边(x, y),x在topA中一定排在y之前。
定义size(x)为点x能到达的点的集合。我们发现,若A点存在且只存在边(A, B), (A, C),那么size(A) = size(B) | size© + 1(|代表求并集)。
逆序遍历拓扑序列topA,对于每一个点,将它划入 其父节点能到达的点 的集合。可以用bitset来作为集合。最终就能获得答案。