「CSPS rp++」 Dijkstra

CF229B Planets

用 set 预处理每个时间,哪些节点有人。再 dijkstra 进行即可。

while(book[u].count(t)) t++;

HRBUST 1339 Touring

有两个人分别从 A 和 B 出发去 C,经过相同的边只花一个人的钱,求最少花的钱。

用 dijkstra 预处理 A、B 和 C 的单源最短路径,然后枚举两人汇合的点即可。

Bear and Clique Distances CodeChef

有一张等权完全图,再加上几条边,求最短路。

按常规来建完全图会挂,因为完全图权值一样,不如建立一个中转点,所有点有连向中转点的有向边,无花费,中转点有连向所有点的有向边,花费为权值。然后再原图上加边,最后 dijkstra 即可。

猜你喜欢

转载自www.cnblogs.com/lyfoi/p/11741478.html