分析 考虑上一层还是上两层还是爬上去 AC代码 #include <bits/stdc++.h> using namespace std; int f[1000005],a[1000005]; int main() { int n; scanf("%d",&n); for (int i=1;i<=n;i++) scanf("%d",&a[i]); for (int i=1;i<=n;i++) f[i]=min(f[i-1]+a…
P2800 又上锁妖塔 [温馨提示]使用仙术时飞过一层塔不花费时间,若爬过去,该层有多高,就要花费多长时间 我们可以用 f [ i ] 表示到达第 i 层时所用最短时间 到达第 i 层可以有两类方法: 爬过去:f [ i - 1 ] + a [ i ] 飞过去:f [ i - 2 ] + a [ i - 1 ] (跨越一层) f [ i - 3 ] + a [ i - 2 ] (跨越两层) 所以转移方程:f [ i ] = min ( f…