0
点赞
收藏
分享

微信扫一扫

状态机DP——秘密行动

蒸熟的土豆 2022-04-06 阅读 52

在这里插入图片描述在这里插入图片描述

0表示爬,1表示跳,不能连续跳2次,因此1的状态只能由0转移过来。

#include<bits/stdc++.h>
using namespace std;
const int N=10010;
int dp[N][2],w[N];
int main()
{
    int n;
    cin>>n;
    for(int i=2;i<=n+1;i++)
        cin>>w[i];
    //dp[0][0]=dp[0][1]=0;
    for(int i=2;i<=n+1;i++)
    {
        dp[i][0]=min(dp[i-1][0]+w[i],dp[i-1][1]+w[i]);
        dp[i][1]=min(dp[i-1][0],dp[i-2][0]);
    }
    cout<<min(dp[n+1][0],dp[n+1][1]);
	return 0;
}
举报

相关推荐

0 条评论