【题意分析】
考虑dp,dp[i][j]
直接表示到坐标为 ( i , j ) (i,j) (i,j)的点有几种方案,不可到达就是 I N F INF INF
low[i]
和top[i]
就是在这个位置最低在low[i]
位置,最高在top[i]
位置可以通过,记得赋初值
up[i]
和down[i]
分别是在这个位置可以上升/下降多少高度
那么当前状态可能是从下面升上来的,也有可能是从上面掉下来的,这样就有
d p [ i ] [ j ] = min ( d p [ i − 1 ] [ j − u p [ i ] ] + 1 , d p [ i ] [ j − u p [ i ] ] + 1 ) , j ∈ [ u p [ i ] + 1 , u p [ i ] + H ] dp[i][j]=\min(dp[i-1][j-up[i]]+1,dp[i][j-up[i]]+1),j\in[up[i]+1,up[i]+H] dp[i][j]=min(dp[i−1][j−up[i]]+1,dp[i][j−up[i]]+1),j∈[up[i]+1,up[i]+H]
d p [ i ] [ j ] = min ( d p [ i