天天看点

UVA 11374 Airport Express(优先队列优化dijstra + 枚举)

题意:在iokh市机场快线分为经济线和商业线。线路和速度价格都不同。你只有一张商业线车票,即最多只能坐一站商业线,其他时候只能坐经济线。找出一条去机场最快的线路。

思路:因为商业线只能坐一站,假如乘坐一条商业线(a,b),那么起点到a,b到终点都必须是最短路。所以先预处理起点和终点到其他所有点的最短路,分别记为f()和g(),两次dijstra即可。那么我们只需枚举每条商业线求出所有的f(a)+t(a,b)+g(b)然后求最小即可。

1w是tle,改成了优先队列优化的dijstra,白书上的模板。

2w是re,题目中说边数最多1000条,开到1010仍然re,果断开到10010。