Algorithm 具有n层和k层电梯的建筑中的最小电梯问题

Algorithm 具有n层和k层电梯的建筑中的最小电梯问题,algorithm,dynamic-programming,Algorithm,Dynamic Programming,所以问题是: 给定一个有k台电梯的建筑的n层数,其中每台电梯从ai层到双层,ai和bi被给定,以找到从第一层到第n层的最小电梯数 这个问题必须用动态规划来解决。唯一的问题是我不知道如何开始。 那么,有没有人对如何开始这项工作有什么想法呢;除了我们需要自己根据ai、bi值创建输入数组之外 让我们先为跳跃游戏问题创建输入数组: N = 10 ## num of total floors V = [(1, 5), (2, 8), (4, 10), (9, 10)] nums = [0 for _ i

所以问题是: 给定一个有k台电梯的建筑的n层数,其中每台电梯从ai层到双层,ai和bi被给定,以找到从第一层到第n层的最小电梯数

这个问题必须用动态规划来解决。唯一的问题是我不知道如何开始。
那么,有没有人对如何开始这项工作有什么想法呢;除了我们需要自己根据ai、bi值创建输入数组之外

让我们先为跳跃游戏问题创建输入数组:

N = 10 ## num of total floors
V = [(1, 5), (2, 8), (4, 10), (9, 10)]

nums = [0 for _ in range(N)] ## array we need to fill up to transform this problem to Jump-Game problem

## nums[i] represents the maximum number of floors it can go from floor-i (starting from floor 0 to floor N-1)

for ab_pair in V:
  a, b = ab_pair
  floor_diff = max(b-a, 0)
  if a >= N or a < 0:
    continue
  nums[a-1] = max(nums[a-1], floor_diff)
输出:

## For [(1, 5), (2, 8), (4, 10), (9, 10)]

2

少了什么吗?上述问题似乎没有道理。具体来说,“每一部电梯都从aI层到bi层”这句话令人费解。唯一的输入是n和k,那么ai和bi应该是什么呢?我的教授想说的是,对于每一个电梯,你有一个起点和一个终点,比如说1号电梯从2号开始。从一楼到五楼,二楼从一楼开始。六楼。到目前为止,我们学到的唯一技术是子问题重叠。老实说,这个问题对我来说仍然没有任何意义。你能提供一个简单的示例输入和正确的解决方案吗?我没有一个示例,这是最糟糕的,我已经尝试了大约4个小时来解决这个问题straight@TarikPašić我认为你需要为你的问题添加更多细节,以便其他人能够更好地理解。也许您可以添加一个完整的示例并提交一个编辑。
## For [(1, 5), (2, 8), (4, 10), (9, 10)]

2