洛谷
Aya_Uchida
博客将迁到博客园,https://www.cnblogs.com/Aya-Uchida/
展开
-
洛谷P2384 最短路 最短路变形
题意: 给定n个点的带权有向图,求从1到n的路径中边权之积最小的简单路径。输出它模9987的余数。 题解: 最短路变形,令距离数组dis[start]=1,其他为INF,使用堆优化dijkstra算法,松弛操作变成dis[v]=min{dis[v],dis[u]*E{u,v}};即可。 AC代码: #include <iostream> #include <vecto...原创 2019-05-05 23:24:38 · 189 阅读 · 0 评论 -
洛谷P1144 最短路计数 BFS
题意: 给出一个N个顶点M条边的无向无权图,顶点编号为1−N。问从顶点1开始,到其他每个点的最短路有几条,可能有自环与重边。输出答案 mod 100003 后的结果即可。如果无法到达顶点i则输出0。 题解: 用一个cnt数组记录1点到达某个点的最短路径的条数,如果在某个时候已经求出u的深度,如果访问的点是v且v的距深度等于u的路径+1,则可知这条u至v的边是1到v的最短路径,所以cnt[v]...原创 2019-05-05 23:39:29 · 257 阅读 · 0 评论 -
洛谷P1608 路径统计 最短路变种 dijkstra算法
题意: 求一个带权有向图的1到n的最短路径数量,两点间会有重边,两条最短路径只有在存在一条边及以上不同时认为不同(所以重边算一条边),若城市n无法到达则只输出一个(‘No answer’)。 题解: 和P1144差不多,但是P1144是无权图,所以可以直接bfs,本题是带权图,就需要使用dijkstra算法求最短路了,更新数量时,如果dis[v]需要松弛,则说明存在一条新的边缩短了1到v的最...原创 2019-05-06 00:02:36 · 313 阅读 · 0 评论