P9107 BFS

拜谢,想了很久然后被 flc 秒了。

首先最优方案一定是最短路径。带上该路径向上、向下移动的次数进行 bfs。

然后开一个 map 维护每种 \(a_i, b_i\) 花费的时间以及耗时同为此的人数。由于 map 在关键字为键时有序,直接输出 map 的首项的键和值即可。代码


关于“最优方案一定是最短路径”:假设向上的次数为 \(c\),向下为 \(d\),那么第 \(i\) 个人的用时为 \(c \cdot a_i + d \cdot b_i\),而 \(a_i, b_i\) 固定 \(> 0\)\(c, d\) 两个系数一定越小越好。

posted @ 2024-07-12 11:14  Carrot-Meow~  阅读(5)  评论(0)    收藏  举报