huangriq

导航

2012年4月24日 #

poj 3463(最短路、次短路计数)

摘要: 题意:给出一个有向图、源点、终点,求出源点到终点的最短路径和比最短路径长度大1的路径条数。思路:求出最短路径条数和次短路径条数,如果次短路比最短路长度大一,返回最短路径和次短路径的条数和。否则返回最短路径条数。实现:dist[i][2]表示点i到源点的两条路径长度,cnt[i][2]表计数,用dijstra的贪心思想对状态进行更新,与求最短路不同的是,次短路也需要入队和更新。状态更新如下:1.新值小于最短路:更新次短路及计数,更新最短路及计数。(先把次短路更新为最短路状态,然后更新最短路)2.新值等于最短路:更新最短路计数。3.新值大于最短路,小于次短路:更新次短路及计数。4新值等于次短路:更 阅读全文

posted @ 2012-04-24 16:42 huangriq 阅读(558) 评论(0) 推荐(0)