算法 动态规划 定义f[i]为从1点到i点所需要的时间,然后我们从当前点更新所有能够到达的点。 当a[i]为负数时,我们能够到达的点为j, j = {1, 2..., 1 - a[i]}, 并且更新f[j] = min(f[j] , f[i] + 1) 当a[i]为正数时,我们能够到达的点为j,j = i + k, 1 <= k <= a[i], 所以更新f[j] = min(f[j], f[i] + 1) 代码 #include <bits/stdc++.h> using namespace std; const int N = 2005; int a[N]; i...