摘要:
题目链接:http://poj.org/problem?id=2449 K短路的经典题目,直接BFS优先队列扩展超memory,因此要用A*算法优化,先Dijkstal求出所有点到汇点的最短路,注意要把所有边反向,因为是有向图。f(x)=g(x)+h(x),h(x)是估价函数,当前点到汇点的最短路,g(x)是源点到当前点的花费。因为求出了所有点到汇点的最短路,所以进优先队列时,直接算到达汇点的花费加上到下个点的权值皆可。 当然还有很多其他的算法。 1 //STATUS:G++_AC_297MS_8340KB 2 #include<stdio.h> 3 #include<std 阅读全文