最短路计数
给出一个 N 个顶点 M 条边的无向无权图,顶点编号为 1 到 N。
问从顶点 1 开始,到其他每个点的最短路有几条。
输入格式
第一行包含 2 个正整数 N,M,为图的顶点数与边数。
接下来 M 行,每行两个正整数 x,y,表示有一条顶点 x 连向顶点 y 的边,请注意可能有自环与重边。
输出格式
输出 N 行,每行一个非负整数,第 i 行输出从顶点 1 到顶点 i 有多少条不同的最短路,由于答案有可能会很大,你只需要输出对 100003 取模后的结果即可。
如果无法到达顶点 i 则输出 0。
数据范围
1 ≤ N ≤ 1 0 5 1≤N≤10^5 1≤N≤105,
1 ≤ M ≤ 2 × 1 0 5 1≤M≤2×10^5 1≤M≤2

该博客探讨了一种无向无权图的单源最短路计数问题。给定一个图,从顶点1出发,需要计算到达每个顶点的不同最短路径数量。题目对输入输出格式、数据范围进行了说明,并提供了样例。博主指出,常规方法是找到最短路径长度后再统计路径,但可以利用DP思想,将问题转化为求最短路为特定长度的路径数量。虽然DP通常需要拓扑序,但在最短路树上,Dijkstra或BFS算法可以满足这一条件,而SPFA则不行。因此,建议使用Dijkstra或BFS来解决这个问题。
最低0.47元/天 解锁文章
1571

被折叠的 条评论
为什么被折叠?



