Hello Stack Overflow社区,
我正试图解决这个问题: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1040
问题是根据边缘之间的容量找到最佳路径。我知道这可以使用动态编程解决,我对它们提供的示例感到困惑:
根据问题描述,如果有人试图从城市1到7获得99人,路线应该是1-2-4-7我得到的,因为每个边缘的重量代表最大乘客数量可以马上去。我没有得到的是描述说它至少需要5次旅行。 5来自哪里? 1-2-4-7是3跳,如果我这次旅行我计算4次旅行,因为25次是路线中最有限的跳跃,我会说你需要99/25或至少4次旅行。这是一个错字,还是我错过了什么?
答案 0 :(得分:1)
给出问题陈述的第一行:
先生。 G.是一名导游。
G先生可能总是出现在公共汽车上,因此旅行次数的等式是:
x = (ceil(x) + number_of_passengers) / best_route
而不是简单地:
x = number_of_passengers / best_route
或者,对于您的号码:
x = (ceil(x) + 99) / 25
可以通过以下方式解决:
x == 4.16 (trips)