动态规划--状态机模型--股票买卖V

题目就不在这里描述了,相信大家都知道了,主要是状态机的模型。求出来就比较好写了。

动态规划--状态机模型--股票买卖V
这里附上代码:

#include<iostream>
using namespace std;
const int N = 100005;
const int inf = -0x3f3f3f;
long long  a[N],f[N][3];
int main(){
    int n;
    cin >> n;
    for( int i = 1; i <= n; i ++)
        cin >> a[i];
    f[0][2] = 0,f[0][1]=f[0][0]=inf;
    for(int i = 1; i <= n; i ++)
    {
        f[i][0] = max(f[i-1][0],f[i-1][2]-a[i]);
        f[i][1] = f[i-1][0]+a[i];
        f[i][2] = max(f[i-1][1],f[i-1][2]);
    }
    int ans = 0;
    ans = max(f[n][1],f[n][2]);
    cout << ans;
    return 0;
}

主要是把状态模型写出来。

上一篇:numpy读取本地数据和索引


下一篇:C++STL全排列