题意
一开始我想用Floyd去水水,发现水不过,第7组0.8S,第8组数据1.56S。于是想着用spfa去搞。
发现spfa原来这个好写,不过中间由于大错一个下标导致了1h的悲剧。。。至于spfa的介绍就不必我来说了吧,网上一搜一大把。
用spfa搞出来的最后一组数据用时0.19S。还过得去,不过网上有人说用spfa还可以优化,就是根据已经算出来的最短路来优化还没算出的最短路,具体实现我不是很懂,给个链接,有兴趣的看看。(这个链接里还有几种最短路的算法效率的比较)
还有就是可以用heap+dij,不过这个heap最好还是自己手写,想偷懒用stl的东西有时是要以时间为代价的。有时用stl的优先队列来搞的话会超时,但是自己手写堆的话,可能会比较理想。标称给的就是heap+dij.具体实现nocow上应该有,这里就不贴了。