我正在尝试练习一些编码问题,后来遇到了这个问题:
随着电价的飞涨,必须有一种方法可以通过增加重型机械(例如电梯)的利用率来减少浪费。我们将问题表述如下。有 N 个人(p_1,...,p_N)在排队等候进入电梯。顺便说一句,只有一个电梯,并且它在底层到高层之间移动(即,在它们之间没有其他停靠点)。另外,所有人都在地下等候。为了简单起见,我们只关心电梯从地面到天空的行程。每个人 p_i 的体重都为正。电梯的重量为 M 。因此,可能不会将所有人带在一起。他们进行了几次旅行。每个人都按照队列中的顺序进入电梯。这意味着, p_1 首先进入,然后是 p_2 ,依此类推。假设在第t 次旅行中, p_j 到 p_k 的人进入电梯。行程t的浪费因子( WF )定义为
您的任务是最大程度地减少总浪费( TW ),其定义为:
S 是将所有人员从地面运送到空中所需的总行程次数。请注意,最后一次旅行的WF不包括在TW计算中。
我完全被困在这里,我想这可以通过DP解决,但我不知道如何解决。特别是在保持订单状态的情况下。 完整的问题可以在这里Problem K: Elevate the Utilization!
中找到