随笔分类 - 路径问题
POJ2449 求第k短路
摘要:``` //poj2449 求第k短路 / 一个最简单的想法是改造dijkstra算法,一个点可以多次进入优先队列, 统计终点第k次出队时的路径即可。 但这样等到第k次时状态数太多,无法承受。 于是使用astar算法思想对其进行改进。优先队列维护的是f(x)+g(x)的 值最小,其中g(x)是当前点
阅读全文
POJ3013 转化为最短路
摘要:``` //poj3013 /* 站在每个点的角度考虑,答案等于每个点的权重*1到该点的所有的边的权值和 可以证明,1到所有点的最短路构成一颗树。直接跑一遍最短路即可 */ #include #include #include #include #include #include using namespace std; #define ll long long #define f...
阅读全文
POJ3463 次短路计数
摘要:``` //poj3463 次短路计数 /* 由于次短路条数可能很多,如果使用k短路算法将超时 使用djikstra算法 dijkstra性质: 1.每个点只会更新其他点一次,之后便不会被其他点更新。 2.重边不影响。 有几点注意事项: 0.先求出最短路,再求次短路。 1.维护每个点的最短路恒小于次短路。所以,为了做到这点,每次更新时优先更新最短路, 否则才更新次短路。 2.将状态节点插入堆中时要...
阅读全文
POJ3613 求经过k条边的最短路
摘要:``` //poj3613 给定起点终点,求经过k条边的最短路 //矩阵乘法 快速幂 //详见 俞华程 矩阵乘法在信息学中的应用 include include include include include include using namespace std; define ll long l
阅读全文
浙公网安备 33010602011771号